Package org.firebirdsql.gds.ng.listeners
Class AbstractListenerDispatcher<TListener>
- java.lang.Object
-
- org.firebirdsql.gds.ng.listeners.AbstractListenerDispatcher<TListener>
-
- Type Parameters:
TListener
- Listener type
- All Implemented Interfaces:
java.lang.Iterable<TListener>
- Direct Known Subclasses:
AsynchronousChannelListenerDispatcher
,DatabaseListenerDispatcher
,ServiceListenerDispatcher
,StatementListenerDispatcher
,TransactionListenerDispatcher
public class AbstractListenerDispatcher<TListener> extends java.lang.Object implements java.lang.Iterable<TListener>
Dispatcher to maintain a list of listeners of typeTListener
- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Constructor Summary
Constructors Constructor Description AbstractListenerDispatcher()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(TListener listener)
Adds the supplied listener to this dispatcher as a strongly referenced listener.void
addWeakListener(TListener listener)
Adds the supplied listener to this dispatcher as a weakly referenced listener.boolean
isShutdown()
java.util.Iterator<TListener>
iterator()
void
removeAllListeners()
Removes all listeners from this dispatcher.void
removeListener(TListener listener)
Removes the supplied listener from this dispatcher (both weak and strong).void
shutdown()
Shuts down this dispatcher and removes all listeners.
-
-
-
Method Detail
-
addListener
public final void addListener(TListener listener)
Adds the supplied listener to this dispatcher as a strongly referenced listener.A call to this method has no effect after
shutdown()
has been called.- Parameters:
listener
- Listener object
-
addWeakListener
public final void addWeakListener(TListener listener)
Adds the supplied listener to this dispatcher as a weakly referenced listener.A call to this method has no effect after
shutdown()
has been called.Attempts to add a listener that is already strongly referenced will be ignored.
- Parameters:
listener
- Listener object
-
removeListener
public final void removeListener(TListener listener)
Removes the supplied listener from this dispatcher (both weak and strong).- Parameters:
listener
- Listener object
-
removeAllListeners
public final void removeAllListeners()
Removes all listeners from this dispatcher.
-
shutdown
public final void shutdown()
Shuts down this dispatcher and removes all listeners.After shutdown calls to
addListener(Object)
are ignored.
-
isShutdown
public final boolean isShutdown()
- Returns:
true
when this dispatcher has been shut down.
-
-