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:

Author:
Gavin King, Pete Muir, David Allen

Method Summary
 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 variable

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 - a Class representing the specified type
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(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 - a TypeLiteral representing the specified type
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


Copyright © 2008-2011 JBoss by Red Hat, Inc.. All Rights Reserved.