Author: frankbille
Date: Thu May 29 01:02:28 2008
New Revision: 661246
URL: http://svn.apache.org/viewvc?rev=661246&view=rev
Log:
Generics
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java?rev=661246&r1=661245&r2=661246&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java
Thu May 29 01:02:28 2008
@@ -19,6 +19,7 @@
import java.lang.ref.WeakReference;
import org.apache.wicket.IRequestTarget;
+import org.apache.wicket.Page;
import org.apache.wicket.PageParameters;
import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
import org.apache.wicket.request.RequestParameters;
@@ -36,7 +37,7 @@
AbstractRequestTargetUrlCodingStrategy
{
/** bookmarkable page class. */
- protected final WeakReference/* <Class> */bookmarkablePageClassRef;
+ protected final WeakReference<Class<? extends Page<?>>>
bookmarkablePageClassRef;
/** page map name. */
private final String pageMapName;
@@ -44,6 +45,9 @@
/**
* Construct.
*
+ * @param <C>
+ * type of page.
+ *
* @param mountPath
* the mount path
* @param bookmarkablePageClass
@@ -51,8 +55,8 @@
* @param pageMapName
* the page map name if any
*/
- public BookmarkablePageRequestTargetUrlCodingStrategy(final String
mountPath,
- final Class bookmarkablePageClass, String pageMapName)
+ public <C extends Page<?>>
BookmarkablePageRequestTargetUrlCodingStrategy(
+ final String mountPath, final Class<C> bookmarkablePageClass,
String pageMapName)
{
super(mountPath);
@@ -61,7 +65,8 @@
throw new IllegalArgumentException("Argument
bookmarkablePageClass must be not null");
}
- bookmarkablePageClassRef = new
WeakReference(bookmarkablePageClass);
+ bookmarkablePageClassRef = new WeakReference<Class<? extends
Page<?>>>(
+ bookmarkablePageClass);
this.pageMapName = pageMapName;
}
@@ -104,15 +109,15 @@
if (requestParameters.getInterfaceName() != null)
{
return new BookmarkableListenerInterfaceRequestTarget(
- requestParameters.getPageMapName(),
(Class)bookmarkablePageClassRef.get(),
- parameters,
requestParameters.getComponentPath(),
- requestParameters.getInterfaceName(),
requestParameters.getVersionNumber());
+ requestParameters.getPageMapName(),
bookmarkablePageClassRef.get(), parameters,
+ requestParameters.getComponentPath(),
requestParameters.getInterfaceName(),
+ requestParameters.getVersionNumber());
}
// otherwise process as a normal bookmark page request
else
{
return new
BookmarkablePageRequestTarget(requestParameters.getPageMapName(),
- (Class)bookmarkablePageClassRef.get(),
parameters);
+ (Class<? extends
Page<?>>)bookmarkablePageClassRef.get(), parameters);
}
}
@@ -153,7 +158,7 @@
if (requestTarget instanceof IBookmarkablePageRequestTarget)
{
IBookmarkablePageRequestTarget target =
(IBookmarkablePageRequestTarget)requestTarget;
- if
(((Class)bookmarkablePageClassRef.get()).equals(target.getPageClass()))
+ if (((Class<? extends
Page<?>>)bookmarkablePageClassRef.get()).equals(target.getPageClass()))
{
if (pageMapName == null)
{