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
@Anyqualifier 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.
- Author:
- Gavin King, Pete Muir, David Allen
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidfire(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- aClassrepresenting 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- aTypeLiteralrepresenting 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
-
-