Author: jdonnerstag
Date: Wed Apr 15 17:33:15 2009
New Revision: 765276
URL: http://svn.apache.org/viewvc?rev=765276&view=rev
Log:
changed generics of Component.getBehaviors(Class)
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=765276&r1=765275&r2=765276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Wed Apr
15 17:33:15 2009
@@ -1322,7 +1322,7 @@
*/
public final List<IBehavior> getBehaviors()
{
- return getBehaviors(null);
+ return getBehaviors(IBehavior.class);
}
/**
@@ -3608,11 +3608,13 @@
*
* @param type
* The type or null for all
- *
* @return The subset of the currently coupled behaviors that are of
the provided type as a
* unmodifiable list or null
+ * @param <M>
+ * A class derived from IBehavior
*/
- protected List<IBehavior> getBehaviors(Class<? extends IBehavior> type)
+ @SuppressWarnings("unchecked")
+ protected <M extends IBehavior> List<M> getBehaviors(Class<M> type)
{
List<IBehavior> behaviors = getBehaviorsRawList();
if (behaviors == null)
@@ -3620,13 +3622,19 @@
return Collections.emptyList();
}
- List<IBehavior> subset = new
ArrayList<IBehavior>(behaviors.size()); // avoid growing
- for (Iterator<IBehavior> i = behaviors.iterator(); i.hasNext();)
+ List<M> subset = new ArrayList<M>(behaviors.size()); // avoid
growing
+ for (IBehavior behavior : behaviors)
{
- Object behavior = i.next();
- if (behavior != null && (type == null ||
type.isAssignableFrom(behavior.getClass())))
+ if (behavior != null)
{
- subset.add((IBehavior)behavior);
+ if (type == null)
+ {
+ subset.add((M)behavior);
+ }
+ else if
(type.isAssignableFrom(behavior.getClass()))
+ {
+ subset.add(type.cast(behavior));
+ }
}
}
return Collections.unmodifiableList(subset);