commit | 444802b41c8d3c622c89acaa1f8dc500a729e982 | [log] [tgz] |
---|---|---|
author | Werner Punz <werpu@apache.org> | Mon Jun 28 10:21:53 2010 +0000 |
committer | Werner Punz <werpu@apache.org> | Mon Jun 28 10:21:53 2010 +0000 |
tree | 3a70081af8adb450ce2dcddda2d34573b02afd40 | |
parent | 942a248d0a8190ba47b6a0347c9ae3db1c168843 [diff] |
https://issues.apache.org/jira/browse/EXTSCRIPT-136 git-svn-id: https://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk@958532 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventListener.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventListener.java index bab6a9a..a5162da 100644 --- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventListener.java +++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventListener.java
@@ -1,6 +1,6 @@ package org.apache.myfaces.extensions.scripting.sandbox.extensionevents; -import java.util.List; +import java.util.Set; /** * @author Werner Punz (latest modification by $Author$) @@ -19,11 +19,12 @@ public void handleEvent(ExtensionEvent ev); /** - * returns the event idenitifiers this listener + * returns the event identifiers this listener * is a listener for (additional hints which will speed up the event handling) * - * @return + * @param evt the event to be triggered for + * @return true if the listener is a listener for the specific event */ - public List<Integer> listenerFor(); + public boolean isListenerFor(ExtensionEvent evt); }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventRegistry.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventRegistry.java index 102ef5e..d07e8ec 100644 --- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventRegistry.java +++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventRegistry.java
@@ -43,8 +43,8 @@ public void removeAllListeners(Class eventType) { Iterator<ExtensionEventListener> it = _listeners.iterator(); - while(it.hasNext()) { - if(it.next().getClass() == eventType) { + while (it.hasNext()) { + if (it.next().getClass() == eventType) { it.remove(); } } @@ -56,7 +56,9 @@ public void sendEvent(ExtensionEvent evt) { for (ExtensionEventListener listener : _listeners) { - listener.handleEvent(evt); + if (listener.isListenerFor(evt)) { + listener.handleEvent(evt); + } } }