org.argouml.model.uml
Class ClassListenerHashMap

java.lang.Object
  extended byorg.argouml.model.uml.ClassListenerHashMap

class ClassListenerHashMap
extends java.lang.Object

A map that holds ElementListenerLists with lists of listeners that are interested in each and every event of a certain type of the instances of a certain meta-class.


Field Summary
private  java.util.Map _listenerMap
          The list of ListenerType - Listener pairs
private static ru.novosoft.uml.MElementListener[] NULL_ARRAY
          A null array to be shared by all empty listener lists
 
Constructor Summary
(package private) ClassListenerHashMap()
           
 
Method Summary
private  java.lang.Class[] getHierarchy(java.lang.Class clazz)
           
 EventListenerList[] getListenerList(java.lang.Class element)
          Returns an EventListenerList with listeners that are interested in certain events of the given meta-class.
 ru.novosoft.uml.MElementListener[] getListeners(java.lang.Class element, EventKey key)
          Returns all listeners that are interested in the given event.
 boolean isEmpty()
          Tests if the hashmap is empty.
 void put(java.lang.Class element, EventKey key, ru.novosoft.uml.MElementListener listener)
          Puts a listener that is interested in a certain event that will be send by instances of the given meta-class.
 void remove(java.lang.Class element)
          Removes the list of listeners for the given meta-class.
 void remove(java.lang.Class element, EventKey key, ru.novosoft.uml.MElementListener listener)
          Removes a listener as being interested in the given event.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NULL_ARRAY

private static final ru.novosoft.uml.MElementListener[] NULL_ARRAY
A null array to be shared by all empty listener lists


_listenerMap

private transient java.util.Map _listenerMap
The list of ListenerType - Listener pairs

Constructor Detail

ClassListenerHashMap

ClassListenerHashMap()
Method Detail

put

public void put(java.lang.Class element,
                EventKey key,
                ru.novosoft.uml.MElementListener listener)
Puts a listener that is interested in a certain event that will be send by instances of the given meta-class.

Parameters:
element - The meta-class the listener is interested in
key - The type/name pair designating the event type
listener - The listener that's interested in the given event type

remove

public void remove(java.lang.Class element,
                   EventKey key,
                   ru.novosoft.uml.MElementListener listener)
Removes a listener as being interested in the given event.

Parameters:
element -
key -
listener -

remove

public void remove(java.lang.Class element)
Removes the list of listeners for the given meta-class.

Parameters:
element -

getListeners

public ru.novosoft.uml.MElementListener[] getListeners(java.lang.Class element,
                                                       EventKey key)
Returns all listeners that are interested in the given event.

Parameters:
element -
key -
Returns:

getListenerList

public EventListenerList[] getListenerList(java.lang.Class element)
Returns an EventListenerList with listeners that are interested in certain events of the given meta-class.

Parameters:
element -
Returns:

getHierarchy

private java.lang.Class[] getHierarchy(java.lang.Class clazz)

isEmpty

public boolean isEmpty()
Tests if the hashmap is empty.

Returns:
true if empty.


ArgoUML © 1996-2004 (20040316)ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook