Class EventEmitter<Event,​Listener>

  • Type Parameters:
    Event - an Enum containing the event names that listeners may be registered for
    Listener - the interface type of the listener
    Direct Known Subclasses:
    ChannelBase, Connection

    public abstract class EventEmitter<Event,​Listener>
    extends java.lang.Object
    An interface exposing the ability to register listeners for a class of events
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  EventEmitter.Filter  
    • Constructor Summary

      Constructors 
      Constructor Description
      EventEmitter()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract void apply​(Listener listener, Event event, java.lang.Object... args)  
      void emit​(Event event, java.lang.Object... args)
      Emit the given event (broadcasting to registered listeners)
      void off()
      Remove all registered listeners irrespective of type
      void off​(Event event, Listener listener)
      Remove a previously registered event-specific listener
      void off​(Listener listener)
      Remove a previously registered listener irrespective of type
      void on​(Event event, Listener listener)
      Register the given listener for a specific event
      void on​(Listener listener)
      Register the given listener for all events
      void once​(Event event, Listener listener)
      Register the given listener for a single occurrence of a specific event
      void once​(Listener listener)
      Register the given listener for a single occurrence of any event
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • EventEmitter

        public EventEmitter()
    • Method Detail

      • off

        public void off()
        Remove all registered listeners irrespective of type
      • on

        public void on​(Listener listener)
        Register the given listener for all events
        Parameters:
        listener -
      • once

        public void once​(Listener listener)
        Register the given listener for a single occurrence of any event
        Parameters:
        listener -
      • off

        public void off​(Listener listener)
        Remove a previously registered listener irrespective of type
        Parameters:
        listener -
      • on

        public void on​(Event event,
                       Listener listener)
        Register the given listener for a specific event
        Parameters:
        listener -
      • once

        public void once​(Event event,
                         Listener listener)
        Register the given listener for a single occurrence of a specific event
        Parameters:
        listener -
      • off

        public void off​(Event event,
                        Listener listener)
        Remove a previously registered event-specific listener
        Parameters:
        listener -
        event -
      • emit

        public void emit​(Event event,
                         java.lang.Object... args)
        Emit the given event (broadcasting to registered listeners)
        Parameters:
        event - the Event
        args - the arguments to pass to listeners
      • apply

        protected abstract void apply​(Listener listener,
                                      Event event,
                                      java.lang.Object... args)