Author: ivaynberg
Date: Wed Mar 16 15:24:22 2011
New Revision: 1082165

URL: http://svn.apache.org/viewvc?rev=1082165&view=rev
Log:
allow Behavior to implement IEventSink directly instead of performing an 
instanceof check - makes it clearer which objects in the framework can be sinks.
Issue: WICKET-3516

Modified:
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ComponentEventSender.java
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ComponentEventSender.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ComponentEventSender.java?rev=1082165&r1=1082164&r2=1082165&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ComponentEventSender.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ComponentEventSender.java
 Wed Mar 16 15:24:22 2011
@@ -283,15 +283,12 @@ final class ComponentEventSender impleme
                        List<? extends Behavior> behaviors = 
object.getBehaviors();
                        for (Behavior behavior : behaviors)
                        {
-                               if (behavior instanceof IEventSink)
+                               IEventSink behaviorSink = behavior;
+                               dispatcher.dispatchEvent(behaviorSink, e);
+                               if (e.isStop())
                                {
-                                       IEventSink behaviorSink = 
(IEventSink)behavior;
-                                       dispatcher.dispatchEvent(behaviorSink, 
e);
-                                       if (e.isStop())
-                                       {
-                                               visit.stop();
-                                               break;
-                                       }
+                                       visit.stop();
+                                       break;
                                }
                        }
 

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java?rev=1082165&r1=1082164&r2=1082165&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java 
(original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java 
Wed Mar 16 15:24:22 2011
@@ -18,6 +18,8 @@ package org.apache.wicket.behavior;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.IClusterable;
+import org.apache.wicket.event.IEvent;
+import org.apache.wicket.event.IEventSink;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.IHeaderResponse;
 
@@ -41,7 +43,7 @@ import org.apache.wicket.markup.html.IHe
  * @author Eelco Hillenius
  * @author Igor Vaynberg (ivaynberg)
  */
-public abstract class Behavior implements IClusterable
+public abstract class Behavior implements IClusterable, IEventSink
 {
        private static final long serialVersionUID = 1L;
 
@@ -205,4 +207,8 @@ public abstract class Behavior implement
        {
        }
 
+       public void onEvent(IEvent<?> event)
+       {
+       }
+
 }
\ No newline at end of file


Reply via email to