|
|||||||||
| 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 | ||||||||