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.