java.lang.Object
net.i2p.util.EventDispatcherImpl
All Implemented Interfaces:
EventDispatcher
Direct Known Subclasses:
I2PTunnel, I2PTunnelTask

public class EventDispatcherImplextends 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.

  • Field Details

    • _ignore

      private boolean _ignore
      True while events are dropped, not dispatched.
    • _events

      private final Map<String,Object> _events
      Listeners registered for each event name.
    • _attached

      private final List<EventDispatcher> _attached
      Dispatchers that also receive these events.
  • Constructor Details

    • EventDispatcherImpl

      public EventDispatcherImpl()
      Create a new EventDispatcherImpl.
  • Method Details

    • getEventDispatcher

      public EventDispatcher getEventDispatcher()
      Description copied from interface: EventDispatcher
      Object to be used to deliver events (usually this, but YMMV).
      Specified by:
      getEventDispatcher in interface EventDispatcher
      Returns:
      the event dispatcher
    • attachEventDispatcher

      public void attachEventDispatcher(EventDispatcher ev)
      Description copied from interface: EventDispatcher
      Attach an EventDispatcher object to the events dispatching chain. Note that notification is not bidirectional (i.e. events notified to ev won't reach the object calling this method). Good luck, and beware of notification loops! :-).
      Specified by:
      attachEventDispatcher in interface EventDispatcher
      Parameters:
      ev - Event object to be attached
    • detachEventDispatcher

      public void detachEventDispatcher(EventDispatcher ev)
      Description copied from interface: EventDispatcher
      Detach the specified EventDispatcher object from the events dispatching chain.
      Specified by:
      detachEventDispatcher in interface EventDispatcher
      Parameters:
      ev - Event object to be detached
    • notifyEvent

      public void notifyEvent(String eventName, Object args)
      Description copied from interface: EventDispatcher
      Deliver an event.
      Specified by:
      notifyEvent in interface EventDispatcher
      Parameters:
      eventName - name of the event
      args - data being stored for that event
    • getEventValue

      public Object getEventValue(String name)
      Description copied from interface: EventDispatcher
      Retrieve the value currently associated with the specified event value.
      Specified by:
      getEventValue in interface EventDispatcher
      Parameters:
      name - name of the event to query for
      Returns:
      the event value
    • getEvents

      public Set<String> getEvents()
      Description copied from interface: EventDispatcher
      Retrieve the names of all the events that have been received.
      Specified by:
      getEvents in interface EventDispatcher
      Returns:
      A set of event names
    • ignoreEvents

      public void ignoreEvents()
      Description copied from interface: EventDispatcher
      Ignore further event notifications.
      Specified by:
      ignoreEvents in interface EventDispatcher
    • unIgnoreEvents

      public void unIgnoreEvents()
      Description copied from interface: EventDispatcher
      Almost like the method above :-).
      Specified by:
      unIgnoreEvents in interface EventDispatcher
    • waitEventValue

      public Object waitEventValue(String name)
      Description copied from interface: EventDispatcher
      Wait until the given event has received a value.
      Specified by:
      waitEventValue in interface EventDispatcher
      Parameters:
      name - name of the event to wait for
      Returns:
      value specified for that event