Module javafx.base
Package javafx.event

## Class EventType<T extends Event>

- java.lang.Object
- - javafx.event.EventType<T>

- Type Parameters:
    `T` - the event class to which this type applies
  All Implemented Interfaces:
    `Serializable`

      public final class EventType<T extends Event>
      extends Object
      implements Serializable

  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 filter / handler registration where a single event filter / 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.

  Note about deserialization: All EventTypes that are going to be deserialized (e.g. as part of `Event` deserialization), need to exist at the time of deserialization. Deserialization of EventType will not create new EventType objects.

  Since:
    JavaFX 2.0
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static EventType<Event>` | `ROOT` | The root event type.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EventType()` | Deprecated. Do not use this constructor, as only one such EventType can exist
    `EventType​(String name)` | Constructs a new `EventType` with the specified name and the `EventType.ROOT` as its super type.
    `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, String name)` | Constructs a new `EventType` with the specified super type and name.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getName()` | Gets the name of this event type.
    `EventType<? super T>` | `getSuperType()` | Gets the super type of this event type.
    `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

          @Deprecated
          public EventType()

      Deprecated.
      Do not use this constructor, as only one such EventType can exist
      Constructs a new `EventType` with the `EventType.ROOT` as its super type and the name set to `null`.

    - #### EventType

          public EventType​(String name)

      Constructs a new `EventType` with the specified name and the `EventType.ROOT` as its super type.
      Parameters:
        `name` - the name
      Throws:
        `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:
        `IllegalArgumentException` - if an EventType with "null" name and under this supertype exists

    - #### EventType

          public EventType​(EventType<? super T> superType,
                           String name)

      Constructs a new `EventType` with the specified super type and name.
      Parameters:
        `superType` - the event super type
        `name` - the name
      Throws:
        `IllegalArgumentException` - if an EventType with the same name and superType exists

  - ### Method Detail

    - #### getSuperType

          public final 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 final String getName()

      Gets the name of this event type.
      Returns:
        the name

    - #### toString

          public String toString()

      Returns a string representation of this `EventType` object.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of this `EventType` object.