click-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrey Rybin (JIRA)" <j...@apache.org>
Subject [jira] Created: (CLK-609) Use generics where appropriable
Date Fri, 15 Jan 2010 20:26:54 GMT
Use generics where appropriable
-------------------------------

                 Key: CLK-609
                 URL: https://issues.apache.org/jira/browse/CLK-609
             Project: Click
          Issue Type: Improvement
          Components: core, extras
            Reporter: Andrey Rybin
            Priority: Minor


Because Click requires Java 1.5, Click can use its generics support.
For example:

Context:
  public <T extends Page> T createPage (Class<T> pageClass) {
        return clickServlet.createPage(pageClass, request);
  }


ClickServlet:
@SuppressWarnings("unchecked")
protected <T extends Page> T createPage (Class<T> pageClass, HttpServletRequest
request) {
  String path = getConfigService().getPagePath(pageClass);

  if (path == null) {
    String msg =
        "No path configured for Page class: " + pageClass.getName();
    throw new IllegalArgumentException(msg);
  }

  return (T) initPage(path, pageClass, request);
}


then you can do:

MyPage1 x = getContext() .createPage(MyPage1.class);//no explicit cast

getContext() .createPage(String.class);//compilation error, red code in IDE

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message