com.togethersoft.openapi.util
Class EventMulticaster


public class EventMulticaster

Suited to work with an array of event listeners.

Author:
TogetherSoft
Since: Together 4.0
See Also: EventDispatch, VetoableDispatch

Field Summary
 private EventListener[]myListeners
           

Method Summary
 final voidadd(EventListener listener)
          Adds listener to listers array.
 final static EventMulticasteradd(EventMulticaster caster, EventListener listener)
          Adds a listener to specified EventMulticaster.
 final voiddispatch(EventDispatch e)
          For every listener in array calls method dispatch of specified
event.
 final static voiddispatch(EventMulticaster caster, EventDispatch e)
          Calls dispatch method of dispatchable event for every
event listener from event multicaster.
 intfind(EventListener listener)
          Searches for specified listener.
 final booleanhasListeners()
          Checks is there more listeners
 final voidremove(EventListener listener)
          Removes listener from listers array.
 final static EventMulticasterremove(EventMulticaster caster, EventListener listener)
          Removes a listener from specified EventMulticaster.
 final booleanvetoableDispatch(VetoableDispatch e)
          For every listener in array calls method vetoableDispatch
of specified event.
 final static booleanvetoableDispatch(EventMulticaster caster, VetoableDispatch e)
          Calls vetoableDispatch method of dispatchable event for every
event listener from event multicaster.

Field Detail

myListeners

private EventListener[] myListeners
Method Detail

add

public final void add(EventListener listener)
Adds listener to listers array. This method is thread safe.

add

public final static EventMulticaster add(EventMulticaster caster, EventListener listener)
Adds a listener to specified EventMulticaster.
Parameters:
caster EventMulticaster where listener will be added.
listener Event listener will be added.

dispatch

public final void dispatch(EventDispatch e)
For every listener in array calls method dispatch of specified
event. This method executes corresponding methods of listeners.
Parameters:
e Dispatchable event which method dispatch are executed.

dispatch

public final static void dispatch(EventMulticaster caster, EventDispatch e)
Calls dispatch method of dispatchable event for every
event listener from event multicaster. If there is no listeners in
multicaster : does nothing.
Parameters:
caster EventMulticaster that containes listeners.
e Dispatchable event which method dispatch is executed.

find

public int find(EventListener listener)
Searches for specified listener.
Parameters:
listener Listener to be found.
Returns: int index of listener, or -1 if not found.

hasListeners

public final boolean hasListeners()
Checks is there more listeners
Returns: true if there is, false otherwise.

remove

public final void remove(EventListener listener)
Removes listener from listers array. This method is thread safe.

remove

public final static EventMulticaster remove(EventMulticaster caster, EventListener listener)
Removes a listener from specified EventMulticaster.
Parameters:
caster EventMulticaster where listener will be removed from.
listener Event listener will be removed.

vetoableDispatch

public final boolean vetoableDispatch(VetoableDispatch e)
For every listener in array calls method vetoableDispatch
of specified event. This method executes corresponding methods of listeners.
Parameters:
e Vetoable event which method vetoableDispatch are executed.
Returns: true if all methods are executed or there is no listeners;
false if VetoException cought.
See Also:
VetoException, VetoableDispatch

vetoableDispatch

public final static boolean vetoableDispatch(EventMulticaster caster, VetoableDispatch e)
Calls vetoableDispatch method of dispatchable event for every
event listener from event multicaster. If there is no listeners in
multicaster returns true.
Parameters:
caster EventMulticaster that containes listeners.
e Vetoable and dispatchable event which method
vetoableDispatch is executed.
Returns: true if vetoableDispatch is executed or
there is no listeners in multicaster; false if
VetoException is cought.

Association Links

to Class java.util.EventListener