Changeset 19
- Timestamp:
- 07/31/05 14:08:24 (3 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/net/schst/EventDispatcher/EventDispatcher.java
r18 r19 97 97 * 98 98 * @param eventName name of the event 99 * @param listener the event listener object99 * @param className the class name of the listener 100 100 * @return true, if the listener could be removed, false otherwise 101 101 */ 102 public boolean removeEventListener(String eventName, EventListener listener) {102 public boolean removeEventListener(String eventName, String className) { 103 103 if (!this.listeners.containsKey(eventName)) { 104 104 return false; 105 105 } 106 106 EventListenerCollection collection = (EventListenerCollection)this.listeners.get(eventName); 107 EventListenerContainer container = (EventListenerContainer)collection.removeListener( listener);107 EventListenerContainer container = (EventListenerContainer)collection.removeListener(className); 108 108 if (container == null) { 109 109 return false; … … 111 111 return true; 112 112 } 113 114 /** 115 * Remove an event listener 116 * 117 * @param eventName name of the event 118 * @param listener the event listener object 119 * @return true, if the listener could be removed, false otherwise 120 */ 121 public boolean removeEventListener(String eventName, EventListener listener) { 122 if (!this.listeners.containsKey(eventName)) { 123 return false; 124 } 125 EventListenerCollection collection = (EventListenerCollection)this.listeners.get(eventName); 126 EventListenerContainer container = (EventListenerContainer)collection.removeListener(listener); 127 if (container == null) { 128 return false; 129 } 130 return true; 131 } 113 132 114 133 /** … … 155 174 } 156 175 176 /** 177 * Remove an event listener, that has been globally added 178 * 179 * @param className the classname of the event listener 180 * @return true, if the listener could be removed, false otherwise 181 */ 182 public boolean removeGlobalEventListener(String className) { 183 EventListenerContainer container = (EventListenerContainer)this.globalListeners.removeListener(className); 184 if (container == null) { 185 return false; 186 } 187 return true; 188 } 189 157 190 /** 158 191 * Trigger an event, if you already created an event object trunk/src/net/schst/EventDispatcher/EventListenerCollection.java
r17 r19 70 70 71 71 /** 72 * Remove a listener of a sepciefied class from the list 73 * 74 * @param className 75 * @return 76 */ 77 public EventListenerContainer removeListener(String className) { 78 for (Iterator iter = this.listeners.iterator(); iter.hasNext();) { 79 EventListenerContainer container = (EventListenerContainer) iter.next(); 80 if (container.getListener().getClass().getName().equals(className)) { 81 this.listeners.remove(container); 82 return container; 83 } 84 } 85 return null; 86 } 87 88 /** 72 89 * Remove a listener from the list 73 90 * … … 88 105 return null; 89 106 } 90 107 91 108 /** 92 109 * Get an iterator to iterate over the event listeners in this trunk/src/net/schst/EventDispatcher/Examples/ExampleRemove.java
r11 r19 23 23 EventListener four = new DebugHandler("four"); 24 24 disp.addGlobalListener(four); 25 EventListener five = new EchoHandler(); 26 disp.addListener("onLogin", five); 25 27 26 28 boolean removed = disp.removeEventListener("onLogin", one); … … 33 35 System.out.println("The global event listener has succesfully been removed."); 34 36 } 37 38 removed = disp.removeEventListener("onLogin", "net.schst.EventDispatcher.Examples.EchoHandler"); 39 if (removed == true) { 40 System.out.println("The event listener has succesfully been removed by supplying the classname."); 41 } 42 35 43 36 disp.triggerEvent("onLogin");37 44 Customer schst = new Customer(14, "Stephan Schmidt"); 45 disp.triggerEvent("onLogin", false, schst); 38 46 } 39 47 }
