org.jboss.webbeans.event
Class EventObserver<T>

java.lang.Object
  extended by org.jboss.webbeans.event.EventObserver<T>

public class EventObserver<T>
extends java.lang.Object

EventObserver wraps various Observer objects created by application code or by the Web Beans Manager for annotated observer methods. In all cases, this wrapper provides consistent object identification and hashing based on the type of event being observed and any event binding types specified. It also provides a query method to quickly determine if a set of event bindings are exactly what the observer is interested in receiving.

Author:
David Allen

Constructor Summary
EventObserver(Observer<T> observer, java.lang.reflect.Type eventType, ManagerImpl manager, java.lang.annotation.Annotation... eventBindings)
          Constructs a new wrapper for an observer.
 
Method Summary
 boolean equals(java.lang.Object other)
           
 java.util.List<java.lang.annotation.Annotation> getEventBindings()
           
 java.lang.reflect.Type getEventType()
           
 Observer<? extends T> getObserver()
           
 int hashCode()
           
 boolean isObserverInterested(java.lang.annotation.Annotation... bindings)
          Query method to determine if this observer should be notified of an event based on the event bindings and any member values thereof.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EventObserver

public EventObserver(Observer<T> observer,
                     java.lang.reflect.Type eventType,
                     ManagerImpl manager,
                     java.lang.annotation.Annotation... eventBindings)
Constructs a new wrapper for an observer.

Parameters:
observer - The observer
eventType - The class of event being observed
eventBindings - The array of annotation event bindings, if any
Method Detail

getEventType

public final java.lang.reflect.Type getEventType()
Returns:
the eventType

getEventBindings

public final java.util.List<java.lang.annotation.Annotation> getEventBindings()
Returns:
the eventBindings

getObserver

public final Observer<? extends T> getObserver()
Returns:
the observer

isObserverInterested

public boolean isObserverInterested(java.lang.annotation.Annotation... bindings)
Query method to determine if this observer should be notified of an event based on the event bindings and any member values thereof.

Parameters:
bindings - The event bindings
Returns:
true only if all required bindings match

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2011. All Rights Reserved.