Class EventType<T extends Event>

  • Type Parameters:
    T - the event class to which this type applies

    public final class EventType<T extends Event>
    extends java.lang.Object
    This class represents a specific event type associated with an Event.

    Event types form a hierarchy with the ROOT (equals to Event.ANY) as its root. This is useful in event handler registration where a single event handler can be registered to a super event type and will be receiving its sub type events as well. Note that you cannot construct two different EventType objects with the same name and parent.

    Since:
    1.4.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static EventType<Event> ROOT
      The root event type.
    • Constructor Summary

      Constructors 
      Constructor Description
      EventType​(EventType<? super T> superType)
      Constructs a new EventType with the specified super type and the name set to null.
      EventType​(EventType<? super T> superType, java.lang.String name)
      Constructs a new EventType with the specified super type and name.
      EventType​(java.lang.String name)
      Constructs a new EventType with the specified name and the EventType.ROOT as its super type.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      EventType<T> createSubType​(java.lang.String name)  
      java.lang.String getName()
      Gets the name of this event type.
      EventType<? super T> getSuperType()
      Gets the super type of this event type.
      java.lang.String toString()
      Returns a string representation of this EventType object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • ROOT

        public static final EventType<Event> ROOT
        The root event type. All other event types are either direct or indirect sub types of it. It is also the only event type which has its super event type set to null.
    • Constructor Detail

      • EventType

        public EventType​(java.lang.String name)
        Constructs a new EventType with the specified name and the EventType.ROOT as its super type.
        Parameters:
        name - the name
        Throws:
        java.lang.IllegalArgumentException - if an EventType with the same name and ROOT/Event.ANY as parent
      • EventType

        public EventType​(EventType<? super T> superType)
        Constructs a new EventType with the specified super type and the name set to null.
        Parameters:
        superType - the event super type
        Throws:
        java.lang.IllegalArgumentException - if an EventType with "null" name and under this supertype exists
      • EventType

        public EventType​(EventType<? super T> superType,
                         java.lang.String name)
        Constructs a new EventType with the specified super type and name.
        Parameters:
        superType - the event super type
        name - the name
        Throws:
        java.lang.IllegalArgumentException - if an EventType with the same name and superType exists
    • Method Detail

      • getSuperType

        public EventType<? super T> getSuperType()
        Gets the super type of this event type. The returned value is null only for the EventType.ROOT.
        Returns:
        the super type
      • getName

        public java.lang.String getName()
        Gets the name of this event type.
        Returns:
        the name
      • toString

        public java.lang.String toString()
        Returns a string representation of this EventType object.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string representation of this EventType object.
      • createSubType

        public EventType<T> createSubType​(java.lang.String name)