T - the type of the event objectpublic interface Event<T>
Allows the application to fire events of a particular type.
Beans fire events via an instance of the Event interface, which may be injected:
@Inject @Any Event<LoggedInEvent> loggedInEvent;
The fire() method accepts an event object:
public void login() {
...
loggedInEvent.fire( new LoggedInEvent(user) );
}
Any combination of qualifiers may be specified at the injection point:
@Inject @Admin Event<LoggedInEvent> adminLoggedInEvent;
Or, the @Any qualifier may
be used, allowing the application to specify qualifiers dynamically:
@Inject @Any Event<LoggedInEvent> loggedInEvent;
For an injected Event:
| Modifier and Type | Method and Description |
|---|---|
void |
fire(T event)
Fires an event with the specified qualifiers and notifies
observers.
|
Event<T> |
select(java.lang.annotation.Annotation... qualifiers)
Obtains a child Event for the given additional
required qualifiers.
|
<U extends T> |
select(java.lang.Class<U> subtype,
java.lang.annotation.Annotation... qualifiers)
Obtains a child Event for the given required type and
additional required qualifiers.
|
<U extends T> |
select(TypeLiteral<U> subtype,
java.lang.annotation.Annotation... qualifiers)
Obtains a child Event for the given required type and
additional required qualifiers.
|
void fire(T event)
Fires an event with the specified qualifiers and notifies observers.
event - the event objectjava.lang.IllegalArgumentException - if the runtime type of the event object contains a type variableEvent<T> select(java.lang.annotation.Annotation... qualifiers)
Obtains a child Event for the given additional required qualifiers.
qualifiers - the additional specified qualifiersjava.lang.IllegalArgumentException - if passed two instances of the
same qualifier type, or an instance of an annotation that is not
a qualifier type<U extends T> Event<U> select(java.lang.Class<U> subtype, java.lang.annotation.Annotation... qualifiers)
Obtains a child Event for the given required type and additional required qualifiers.
U - the specified typesubtype - a Class representing the specified typequalifiers - the additional specified qualifiersjava.lang.IllegalArgumentException - if passed two instances of the
same qualifier type, or an instance of an annotation that is not
a qualifier type<U extends T> Event<U> select(TypeLiteral<U> subtype, java.lang.annotation.Annotation... qualifiers)
Obtains a child Event for the given required type and additional required qualifiers.
U - the specified typesubtype - a TypeLiteral representing the specified typequalifiers - the additional specified qualifiersjava.lang.IllegalArgumentException - if passed two instances of the
same qualifier type, or an instance of an annotation that is not
a qualifier type