@ThreadSafe public class ListenerManager extends Object
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 and Description |
---|
ListenerManager(String listener_class,
String event_class,
String method_name)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
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) |
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)
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)