Package org.logicalcobwebs.proxool.util
Class AbstractListenerContainer
- java.lang.Object
-
- org.logicalcobwebs.proxool.util.AbstractListenerContainer
-
- All Implemented Interfaces:
ListenerContainerIF
- Direct Known Subclasses:
CompositeConfigurationListener
,CompositeConnectionListener
,CompositeProxoolListener
,CompositeStateListener
,CompositeStatisticsListener
public abstract class AbstractListenerContainer extends java.lang.Object implements ListenerContainerIF
Implementation ofListenerContainerIF
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
- Since:
- Proxool 0.7
- Version:
- $Revision: 1.8 $, $Date: 2004/03/16 08:48:33 $
- Author:
- Christian Nedregaard (christian_nedregaard@email.com), $Author: brenuart $ (current maintainer)
-
-
Constructor Summary
Constructors Constructor Description AbstractListenerContainer()
-
Method Summary
All Methods Instance Methods Concrete Methods 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.
-
-
-
Method Detail
-
addListener
public void addListener(java.lang.Object listener)
Description copied from interface:ListenerContainerIF
Add a listener to this container.- Specified by:
addListener
in interfaceListenerContainerIF
- Parameters:
listener
- the listener to add.- See Also:
ListenerContainerIF.addListener(Object)
-
removeListener
public boolean removeListener(java.lang.Object listener)
Description copied from interface:ListenerContainerIF
Remove a listener from this container.- Specified by:
removeListener
in interfaceListenerContainerIF
- Parameters:
listener
- the listener to be removed.- Returns:
- wether the listnener was found and removed or not.
- See Also:
ListenerContainerIF.removeListener(Object)
-
getListeners
protected java.lang.Object[] getListeners()
Get a reference to the array of registered listeners.- Returns:
- reference to the array containing registered listeners (always not NULL)
-
isEmpty
public boolean isEmpty()
Description copied from interface:ListenerContainerIF
Get wether this container is empty or not.- Specified by:
isEmpty
in interfaceListenerContainerIF
- Returns:
- wether this container is empty or not.
- See Also:
ListenerContainerIF.isEmpty()
-
-