ListenerContainerIFCompositeConfigurationListener, CompositeConnectionListener, CompositeProxoolListener, CompositeStateListener, CompositeStatisticsListenerpublic abstract class AbstractListenerContainer extends java.lang.Object implements ListenerContainerIF
ListenerContainerIF that uses a reads/write lock to handle concurrency in a safe and
fast way.
The registered listeners are offered to subclasses through the protected getListeners() method. This
method returns a reference to an array containing the registered listeners. A new array holding the listeners
is created everytime a modification on the registration list is required (add/remove listener). Therefore,
subclasses can safely iterate over the received array.
Your code sould look like this:
Object[] listeners = getListeners();
for(int i=0; i
| Constructor | Description |
|---|---|
AbstractListenerContainer() |
| Modifier and Type | Method | Description |
|---|---|---|
void |
addListener(java.lang.Object listener) |
Add a listener to this container.
|
protected java.lang.Object[] |
getListeners() |
Get a reference to the array of registered listeners.
|
boolean |
isEmpty() |
Get wether this container is empty or not.
|
boolean |
removeListener(java.lang.Object listener) |
Remove a listener from this container.
|
public void addListener(java.lang.Object listener)
ListenerContainerIFaddListener in interface ListenerContainerIFlistener - the listener to add.ListenerContainerIF.addListener(Object)public boolean removeListener(java.lang.Object listener)
ListenerContainerIFremoveListener in interface ListenerContainerIFlistener - the listener to be removed.ListenerContainerIF.removeListener(Object)protected java.lang.Object[] getListeners()
public boolean isEmpty()
ListenerContainerIFisEmpty in interface ListenerContainerIFListenerContainerIF.isEmpty()