BeforeSelectionEvent<T> class
Represents a before selection event.
@param <T> the type about to be selected
class BeforeSelectionEvent<T> extends DwtEvent {
/**
* Handler type.
*/
static EventType<BeforeSelectionHandler> TYPE = new EventType<BeforeSelectionHandler>();
/**
* Fires a before selection event on all registered handlers in the handler
* manager. If no such handlers exist, this method will do nothing.
*
* @param <T> the item type
* @param source the source of the handlers
* @param item the item
* @return the event so that the caller can check if it was canceled, or null
* if no handlers of this event type have been registered
*/
static BeforeSelectionEvent fire(HasBeforeSelectionHandlers source, item) {
// If no handlers exist, then type can be null.
if (TYPE != null) {
BeforeSelectionEvent event = new BeforeSelectionEvent();
event.setItem(item);
source.fireEvent(event);
return event;
}
return null;
}
/**
* Gets the type associated with this event.
*
* @return returns the handler type
*/
static EventType<BeforeSelectionHandler> getType() {
return TYPE;
}
T _item;
bool _canceled = false;
/**
* Creates a new before selection event.
*/
BeforeSelectionEvent() { }
/**
* Cancel the before selection event.
*
* Classes overriding this method should still call super.cancel().
*/
void cancel() {
_canceled = true;
}
// The instance knows its BeforeSelectionHandler is of type I, but the TYPE
// field itself does not, so we have to do an unsafe cast here.
EventType<BeforeSelectionHandler> getAssociatedType() {
return TYPE;
}
/**
* Gets the item.
*
* @return the item
*/
T getItem() {
return _item;
}
/**
* Has the selection event already been canceled?
*
* @return is canceled
*/
bool isCanceled() {
return _canceled;
}
void dispatch(BeforeSelectionHandler<T> handler) {
handler.onBeforeSelection(this);
}
/**
* Sets the item.
*
* @param item the item
*/
void setItem(T item) {
this._item = item;
}
}
Extends
IEvent<H> > DwtEvent > BeforeSelectionEvent<T>
Static Properties
EventType<BeforeSelectionHandler> TYPE #
Handler type.
static EventType<BeforeSelectionHandler> TYPE = new EventType<BeforeSelectionHandler>()
Static Methods
BeforeSelectionEvent fire(HasBeforeSelectionHandlers source, item) #
Fires a before selection event on all registered handlers in the handler manager. If no such handlers exist, this method will do nothing.
@param <T> the item type @param source the source of the handlers @param item the item @return the event so that the caller can check if it was canceled, or null
if no handlers of this event type have been registered
static BeforeSelectionEvent fire(HasBeforeSelectionHandlers source, item) {
// If no handlers exist, then type can be null.
if (TYPE != null) {
BeforeSelectionEvent event = new BeforeSelectionEvent();
event.setItem(item);
source.fireEvent(event);
return event;
}
return null;
}
EventType<BeforeSelectionHandler> getType() #
Gets the type associated with this event.
@return returns the handler type
static EventType<BeforeSelectionHandler> getType() {
return TYPE;
}
Constructors
new BeforeSelectionEvent() #
Creates a new before selection event.
BeforeSelectionEvent() { }
Methods
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 {@link GwtEvent#revive()}.
void assertLive() {
assert (!_dead) ; //: "This event has already finished being processed by its original handler manager, so you can no longer access it";
}
void cancel() #
Cancel the before selection event.
Classes overriding this method should still call super.cancel().
void cancel() {
_canceled = true;
}
void dispatch(BeforeSelectionHandler<T> handler) #
Implemented by subclasses to invoke their handlers in a type safe
manner. Intended to be called by EventBus#fireEvent(Event) or
EventBus#fireEventFromSource(Event, Object).
@param handler handler @see EventBus#dispatchEvent(Event, Object)
void dispatch(BeforeSelectionHandler<T> handler) {
handler.onBeforeSelection(this);
}
EventType<BeforeSelectionHandler> getAssociatedType() #
Object getSource() #
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, 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).
@return object representing the source of this event
Object getSource() {
assertLive();
return super.getSource();
}
bool isCanceled() #
Has the selection event already been canceled?
@return is canceled
bool isCanceled() {
return _canceled;
}
bool isLive() #
Is the event current live?
@return whether the event is live
bool isLive() {
return !_dead;
}
void kill() #
Kill the event. After the event has been killed, users cannot really on its values or functions being available.
void kill() {
_dead = true;
setSource(null);
}
void overrideSource(Object source) #
void overrideSource(Object source) {
super.setSource(source);
}
void revive() #
Revives the event. Used when recycling event instances.
void revive() {
_dead = false;
setSource(null);
}
void setItem(T item) #
Sets the item.
@param item the item
void setItem(T item) {
this._item = item;
}
void setSource(source) #
Set the source that triggered this event. Intended to be called by the EventBus during dispatch.
@param source the source of this event. @see EventBus#fireEventFromSource(Event, Object) @see EventBus#setSourceOfEvent(Event, Object)
void setSource(dynamic source) {
this._source = source;
}