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 final 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
`final String`
`getName()`
Gets the name of this event type.
`final 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 Details

### 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 Details

### 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 Details

### 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.