Changeset 17

Show
Ignore:
Timestamp:
07/21/05 10:37:15 (3 years ago)
Author:
schst
Message:

Added some introspection functionality which gives you acces to event listeners

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/net/schst/EventDispatcher/CallbackListener.java

    r1 r17  
    4949     
    5050   /** 
    51     * Handl 
     51    * Handle the event 
    5252    */ 
    5353    public void handleEvent(Event event) { 
  • trunk/src/net/schst/EventDispatcher/EventDispatcher.java

    r16 r17  
    267267        return this.listeners.keySet(); 
    268268    } 
     269     
     270    /** 
     271     * Get all event listeners of the speficied event 
     272     *  
     273     * @param eventName 
     274     * @return 
     275     */ 
     276    public EventListenerCollection getEventListeners(String eventName) { 
     277        if (this.listeners.containsKey(eventName)) { 
     278            return (EventListenerCollection)this.listeners.get(eventName); 
     279        } 
     280        return new EventListenerCollection(); 
     281    } 
    269282} 
  • trunk/src/net/schst/EventDispatcher/EventListenerCollection.java

    r11 r17  
    4444             
    4545            // remove the listener 
    46             if (container.autoRemoveEnabled()) { 
     46            if (container.isAutoRemoveEnabled()) { 
    4747                remove.add(new Integer(i)); 
    4848            } 
     
    8888         return null; 
    8989     } 
     90      
     91     /** 
     92      * Get an iterator to iterate over the event listeners in this 
     93      * Collection 
     94      *  
     95      * @return 
     96      */ 
     97     public Iterator iterator() { 
     98         return this.listeners.iterator(); 
     99     } 
    90100} 
  • trunk/src/net/schst/EventDispatcher/EventListenerContainer.java

    r4 r17  
    55 * some additional configuration for the event listener 
    66 *  
     7 * Currently it only stores the the autoRemove flag, 
     8 * but this will probably extended in future versions 
     9 *  
    710 * @author Stephan Schmidt <stephan.schmidt@schlund.de> 
    811 */ 
    9 class EventListenerContainer { 
     12public class EventListenerContainer { 
     13 
     14    /** 
     15     * The actual event listener 
     16     */ 
     17    private EventListener listener = null; 
    1018     
    11     private EventListener listener = null; 
     19    /** 
     20     * Whether to use autoRemove 
     21     */ 
    1222    private boolean autoRemove = false; 
    1323     
     24    /** 
     25     * Create a new event listener container based 
     26     * on an event listener 
     27     *  
     28     * @param listener 
     29     */ 
    1430    public EventListenerContainer(EventListener listener) { 
    1531        this.listener = listener; 
    1632    } 
    1733     
     34    /** 
     35     * Enable auto-remove for this listener 
     36     *  
     37     * @param enable 
     38     */ 
    1839    public void enableAutoRemove(boolean enable) { 
    1940        this.autoRemove = enable; 
    2041    } 
    2142     
    22     public boolean autoRemoveEnabled() { 
     43    /** 
     44     * Check, whether auto-remove has been enabled. 
     45     *  
     46     * @return 
     47     */ 
     48    public boolean isAutoRemoveEnabled() { 
    2349        return this.autoRemove; 
    2450    } 
    25      
     51 
     52    /** 
     53     * Get the event listener 
     54     *  
     55     * @return 
     56     */ 
    2657    public EventListener getListener() { 
    2758        return this.listener;