Package javax.enterprise.event
Interface Event<T>
-
- Type Parameters:
T
- the type of the event object
public 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:
- the specified type is the type parameter specified at the injection point, and
- the specified qualifiers are the qualifiers specified at the injection point.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method 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>
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 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.
-
-
-
Method Detail
-
fire
void fire(T event)
Fires an event with the specified qualifiers and notifies observers.
- Parameters:
event
- the event object- Throws:
java.lang.IllegalArgumentException
- if the runtime type of the event object contains a type variableObserverException
- if a notified observer throws a checked exception, it will be wrapped and rethrown as an (unchecked)ObserverException
-
select
Event<T> select(java.lang.annotation.Annotation... qualifiers)
Obtains a child Event for the given additional required qualifiers.
- Parameters:
qualifiers
- the additional specified qualifiers- Returns:
- the child Event
- Throws:
java.lang.IllegalArgumentException
- if passed two instances of the same qualifier type, or an instance of an annotation that is not a qualifier type
-
select
<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.
- Type Parameters:
U
- the specified type- Parameters:
subtype
- aClass
representing the specified typequalifiers
- the additional specified qualifiers- Returns:
- the child Event
- Throws:
java.lang.IllegalArgumentException
- if passed two instances of the same qualifier type, or an instance of an annotation that is not a qualifier type
-
select
<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.
- Type Parameters:
U
- the specified type- Parameters:
subtype
- aTypeLiteral
representing the specified typequalifiers
- the additional specified qualifiers- Returns:
- the child Event
- Throws:
java.lang.IllegalArgumentException
- if passed two instances of the same qualifier type, or an instance of an annotation that is not a qualifier type
-
-