org.freecompany.util.multicaster
Class AbstractMulticaster<T>
java.lang.Object
org.freecompany.util.multicaster.AbstractMulticaster<T>
- All Implemented Interfaces:
- Multicaster<T>
- Direct Known Subclasses:
- DefaultMulticaster.Handler, NotificationMulticaster
public abstract class AbstractMulticaster<T>
- extends java.lang.Object
- implements Multicaster<T>
This is a generic abstract event multicaster based on the pattern of the
java.awt.AWTEventMulticaster
. It's benefits are zero cost for all single listeners
and near zero cost for a few more after that. Classes which commonly have greater
than a few listeners may be better off using a standard collection with fast
iteration.
Field Summary |
protected T |
a
|
protected T |
b
|
Method Summary |
static
|
add(java.lang.Class<? extends Multicaster> clazz,
T nullListener,
T a,
T b)
|
static
|
add(Multicaster object,
T nullListener,
T a,
T b)
|
T |
getA()
|
T |
getB()
|
static
|
remove(T nullListener,
T current,
T old)
|
static
|
removeInternal(Multicaster<T> object,
T nullListener,
T old)
|
void |
setA(T a)
|
void |
setB(T b)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
a
protected T a
b
protected T b
AbstractMulticaster
protected AbstractMulticaster()
AbstractMulticaster
protected AbstractMulticaster(T a,
T b)
getA
public T getA()
- Specified by:
getA
in interface Multicaster<T>
getB
public T getB()
- Specified by:
getB
in interface Multicaster<T>
setA
public void setA(T a)
- Specified by:
setA
in interface Multicaster<T>
setB
public void setB(T b)
- Specified by:
setB
in interface Multicaster<T>
removeInternal
public static <T> T removeInternal(Multicaster<T> object,
T nullListener,
T old)
add
public static <T> T add(java.lang.Class<? extends Multicaster> clazz,
T nullListener,
T a,
T b)
add
public static <T> T add(Multicaster object,
T nullListener,
T a,
T b)
remove
public static <T> T remove(T nullListener,
T current,
T old)