Package net.i2p.util
Class EventDispatcherImpl
java.lang.Object
net.i2p.util.EventDispatcherImpl
- All Implemented Interfaces:
EventDispatcher
- Direct Known Subclasses:
I2PTunnel
,I2PTunnelTask
public class EventDispatcherImpl extends Object implements EventDispatcher
An implementation of the EventDispatcher interface. Since Java
doesn't support multiple inheritance, you could follow the Log.java
style: this class should be instantiated and kept as a variable by
each object it is used by, ala:
private final EventDispatcher _event = new EventDispatcher();
Deprecated - Used only by I2PTunnel
If there is anything in here that doesn't make sense, turn off
your computer and go fly a kite - (c) 2004 by jrandom- Author:
- human, jrandom
-
Constructor Summary
Constructors Constructor Description EventDispatcherImpl()
-
Method Summary
Modifier and Type Method Description void
attachEventDispatcher(EventDispatcher ev)
Attach an EventDispatcher object to the events dispatching chain.void
detachEventDispatcher(EventDispatcher ev)
Detach the specified EventDispatcher object from the events dispatching chain.EventDispatcher
getEventDispatcher()
Get an object to be used to deliver events (usuallythis
, but YMMV).Set<String>
getEvents()
Retrieve the names of all the events that have been receivedObject
getEventValue(String name)
Retrieve the value currently associated with the specified event valuevoid
ignoreEvents()
Ignore further event notificationsvoid
notifyEvent(String eventName, Object args)
Deliver an eventvoid
unIgnoreEvents()
Almost like the method above :-)Object
waitEventValue(String name)
Wait until the given event has received a value
-
Constructor Details
-
EventDispatcherImpl
public EventDispatcherImpl()
-
-
Method Details
-
getEventDispatcher
Description copied from interface:EventDispatcher
Get an object to be used to deliver events (usuallythis
, but YMMV).- Specified by:
getEventDispatcher
in interfaceEventDispatcher
-
attachEventDispatcher
Description copied from interface:EventDispatcher
Attach an EventDispatcher object to the events dispatching chain. Note that notification is not bidirectional (i.e. events notified toev
won't reach the object calling this method). Good luck, and beware of notification loops! :-)- Specified by:
attachEventDispatcher
in interfaceEventDispatcher
- Parameters:
ev
- Event object to be attached
-
detachEventDispatcher
Description copied from interface:EventDispatcher
Detach the specified EventDispatcher object from the events dispatching chain.- Specified by:
detachEventDispatcher
in interfaceEventDispatcher
- Parameters:
ev
- Event object to be detached
-
notifyEvent
Description copied from interface:EventDispatcher
Deliver an event- Specified by:
notifyEvent
in interfaceEventDispatcher
- Parameters:
eventName
- name of the eventargs
- data being stored for that event
-
getEventValue
Description copied from interface:EventDispatcher
Retrieve the value currently associated with the specified event value- Specified by:
getEventValue
in interfaceEventDispatcher
- Parameters:
name
- name of the event to query for- Returns:
- value (or null if none are available)
-
getEvents
Description copied from interface:EventDispatcher
Retrieve the names of all the events that have been received- Specified by:
getEvents
in interfaceEventDispatcher
- Returns:
- A set of event names
-
ignoreEvents
public void ignoreEvents()Description copied from interface:EventDispatcher
Ignore further event notifications- Specified by:
ignoreEvents
in interfaceEventDispatcher
-
unIgnoreEvents
public void unIgnoreEvents()Description copied from interface:EventDispatcher
Almost like the method above :-)- Specified by:
unIgnoreEvents
in interfaceEventDispatcher
-
waitEventValue
Description copied from interface:EventDispatcher
Wait until the given event has received a value- Specified by:
waitEventValue
in interfaceEventDispatcher
- Parameters:
name
- name of the event to wait for- Returns:
- value specified for that event
-