|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectucar.nc2.util.ListenerManager
@ThreadSafe public class ListenerManager
Helper class for managing event listeners. It is thread safe, but better not to be adding/deleting listeners while sending events. Example:
private void createListenerManager() { lm = new ListenerManager( "ucar.nc2.util.DatasetCollectionManager$EventListener", "ucar.nc2.util.DatasetCollectionManager$Event", "setMessage"); } public void addEventListener(EventListener l) { lm.addListener(l); } public void removeEventListener(EventListener l) { lm.removeListener(l); } public class Event extends java.util.EventObject { private String message; Event(String message) { super(DatasetCollectionManager.this); this.message = message; } public String getMessage() { return message; } } public static interface EventListener { public void setMessage(DatasetCollectionManager.Event event); } lm.sendEvent(event);
Constructor Summary | |
---|---|
ListenerManager(String listener_class,
String event_class,
String method_name)
Constructor. |
Method Summary | |
---|---|
void |
addListener(Object l)
Add a listener. |
boolean |
getEnabled()
|
boolean |
hasListeners()
|
void |
removeListener(Object l)
Remove a listener. |
void |
sendEvent(EventObject event)
Send an event to all registered listeners. |
void |
sendEventExcludeSource(EventObject event)
Send an event to all registered listeners, except the named one. |
void |
setEnabled(boolean enabled)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ListenerManager(String listener_class, String event_class, String method_name)
listener_class
- the name of the EventListener class, eg "ucar.unidata.ui.UIChangeListener"event_class
- the name of the Event class, eg "ucar.unidata.ui.UIChangeEvent"method_name
- the name of the EventListener method, eg "processChange". This method must have the signature public void method_name( event_class e)
Method Detail |
---|
public void setEnabled(boolean enabled)
public boolean getEnabled()
public void addListener(Object l)
l
- listener must be of type "listener_class"public void removeListener(Object l)
l
- listener must be of type "listener_class"public boolean hasListeners()
public void sendEvent(EventObject event)
event
- the event to be sent: public void method_name( event_class event)public void sendEventExcludeSource(EventObject event)
event
- the event to be sent: public void method_name( event_class event)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |