org.freecompany.util.multicaster

Class AbstractMulticaster<T>

public abstract class AbstractMulticaster<T> extends 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 Ta
protected Tb
Constructor Summary
protected AbstractMulticaster()
protected AbstractMulticaster(T a, T b)
Method Summary
static <T> Tadd(Class<? extends Multicaster> clazz, T nullListener, T a, T b)
static <T> Tadd(Multicaster object, T nullListener, T a, T b)
TgetA()
TgetB()
static <T> Tremove(T nullListener, T current, T old)
static <T> TremoveInternal(Multicaster<T> object, T nullListener, T old)
voidsetA(T a)
voidsetB(T b)

Field Detail

a

protected T a

b

protected T b

Constructor Detail

AbstractMulticaster

protected AbstractMulticaster()

AbstractMulticaster

protected AbstractMulticaster(T a, T b)

Method Detail

add

public static <T> T add(Class<? extends Multicaster> clazz, T nullListener, T a, T b)

add

public static <T> T add(Multicaster object, T nullListener, T a, T b)

getA

public T getA()

getB

public T getB()

remove

public static <T> T remove(T nullListener, T current, T old)

removeInternal

public static <T> T removeInternal(Multicaster<T> object, T nullListener, T old)

setA

public void setA(T a)

setB

public void setB(T b)