com.google.gwt.event.shared

## Class GwtEvent<H extends EventHandler>

- java.lang.Object
- - com.google.web.bindery.event.shared.Event<H>
  - - com.google.gwt.event.shared.GwtEvent<H>

Type Parameters:
  `H` - handler type

Direct Known Subclasses:
  AbstractHasData.RedrawEvent, AttachEvent, BeforeSelectionEvent, CellPreviewEvent, CloseEvent, ColumnSortEvent, DomEvent, Event.NativePreviewEvent, FormPanel.SubmitCompleteEvent, FormPanel.SubmitEvent, HighlightEvent, InitializeEvent, LoadingStateChangeEvent, OpenEvent, PlaceChangeEvent, PlaceChangeRequestEvent, RangeChangeEvent, ResizeEvent, RowCountChangeEvent, RowHoverEvent, SelectionChangeEvent, SelectionEvent, ShowRangeEvent, ValueChangeEvent, Window.ClosingEvent, Window.ScrollEvent

    public abstract class GwtEvent<H extends EventHandler>
    extends Event<H>

Root of all GWT widget and dom events sourced by a `HandlerManager`. All GWT events are considered dead and should no longer be accessed once the `HandlerManager` which originally fired the event finishes with it. That is, don't hold on to event objects outside of your handler methods.

There is no need for an application's custom event types to extend GwtEvent. Prefer `Event` instead.

### Nested Class Summary

Nested Classes
`static class` `GwtEvent.Type<H>` Type class used to register events with the `HandlerManager`.

### Constructor Summary

Constructors
`protected` `GwtEvent()` Constructor.

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected void` `assertLive()` Asserts that the event still should be accessed.
`protected abstract void` `dispatch(H handler)` Should only be called by `HandlerManager`.
`abstract GwtEvent.Type<H>` `getAssociatedType()` Returns the `Event.Type` used to register this event, allowing an `EventBus` to find handlers of the appropriate class.
`java.lang.Object` `getSource()` Returns the source for this event.
`protected boolean` `isLive()` Is the event current live?
`protected void` `kill()` Kill the event.
`(package private) void` `overrideSource(java.lang.Object source)`
`protected void` `revive()` Revives the event.

### Methods inherited from class com.google.web.bindery.event.shared.Event

`setSource, toDebugString, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### GwtEvent

    protected GwtEvent()

Constructor.

### Method Detail

#### getAssociatedType

    public abstract GwtEvent.Type<H> getAssociatedType()

Description copied from class: `Event`
Returns the `Event.Type` used to register this event, allowing an `EventBus` to find handlers of the appropriate class.

Specified by:
  `getAssociatedType` in class `Event<H extends EventHandler>`
Returns:
  the type

#### getSource

    public java.lang.Object getSource()

Description copied from class: `Event`
Returns the source for this event. The type and meaning of the source is arbitrary, and is most useful as a secondary key for handler registration. (See `EventBus.addHandlerToSource(com.google.web.bindery.event.shared.Event.Type<H>, java.lang.Object, H)`, which allows a handler to register for events of a particular type, tied to a particular source.)

Note that the source is actually set at dispatch time, e.g. via `EventBus.fireEventFromSource(Event, Object)`.

Overrides:
  `getSource` in class `Event<H extends EventHandler>`
Returns:
  object representing the source of this event

#### assertLive

    protected void assertLive()

Asserts that the event still should be accessed. All events are considered to be "dead" after their original handler manager finishes firing them. An event can be revived by calling `revive()`.

#### dispatch

    protected abstract void dispatch(H handler)

Should only be called by `HandlerManager`. In other words, do not use or call.

Specified by:
  `dispatch` in class `Event<H extends EventHandler>`
Parameters:
  `handler` - handler
See Also:
  `EventBus.dispatchEvent(Event, Object)`

#### isLive

    protected final boolean isLive()

Is the event current live?

Returns:
  whether the event is live

#### kill

    protected void kill()

Kill the event. After the event has been killed, users cannot really on its values or functions being available.

#### revive

    protected void revive()

Revives the event. Used when recycling event instances.

#### overrideSource

    void overrideSource(java.lang.Object source)