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
Modifier and TypeMethodDescriptionvoid
Fires an event with the specified qualifiers and notifies observers.select
(Annotation... qualifiers) Obtains a child Event for the given additional required qualifiers.select
(Class<U> subtype, Annotation... qualifiers) Obtains a child Event for the given required type and additional required qualifiers.select
(TypeLiteral<U> subtype, Annotation... qualifiers) Obtains a child Event for the given required type and additional required qualifiers.
-
Method Details
-
fire
Fires an event with the specified qualifiers and notifies observers.
- Parameters:
event
- the event object- Throws:
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
Obtains a child Event for the given additional required qualifiers.
- Parameters:
qualifiers
- the additional specified qualifiers- Returns:
- the child Event
- Throws:
IllegalArgumentException
- if passed two instances of the same qualifier type, or an instance of an annotation that is not a qualifier type
-
select
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:
IllegalArgumentException
- if passed two instances of the same qualifier type, or an instance of an annotation that is not a qualifier type
-
select
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:
IllegalArgumentException
- if passed two instances of the same qualifier type, or an instance of an annotation that is not a qualifier type
-