Package org.ametys.core.observation
Class ObservationManager
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.ametys.core.observation.ObservationManager
- All Implemented Interfaces:
Disposable,Component,Contextualizable,LogEnabled,Serviceable
public class ObservationManager
extends AbstractLogEnabled
implements Component, Serviceable, Contextualizable, Disposable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordStore a future and the traits of the observer that it will execute -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidObserves the eventvoidaddArgumentForEvents(String[] eventIds, String argName, Object argValue) For all events of the given event id which will be notified during the current request, add an additional argumentvoidcontextualize(Context context) voiddispose()Gets all theFutures of all theAsyncObservers notified by the call tonotify(Event)during the current request.Notify of a event which will be dispatch to registered observers.voidregisterObserver(Observer observer) Registers anObserver.voidremoveArgumentForEvents(String[] eventIds, String argName) For all events of the given event id which will be notified during the current request, removes the additional argument with the given name which was added with theaddArgumentForEvents(String[], String, Object)method.voidservice(ServiceManager manager) voidunregisterObserver(Observer observer) Unregisters anObserver.Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Field Details
-
ROLE
Avalon ROLE. -
_context
Cocoon context -
_manager
Service manager
-
-
Constructor Details
-
ObservationManager
public ObservationManager()
-
-
Method Details
-
service
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
contextualize
- Specified by:
contextualizein interfaceContextualizable- Throws:
ContextException
-
notify
Notify of a event which will be dispatch to registered observers.- Parameters:
event- the event to notify.- Returns:
- The
Futureobjects of the asynchronous observers
-
getFuturesForRequest
Gets all theFutures of all theAsyncObservers notified by the call tonotify(Event)during the current request.
This can be useful to callFuture.get()in order to ensure allAsyncObservers notified by the current request have finished to work.- Returns:
- the
Futures of the notified observers during the current request.
-
addArgumentForEvents
For all events of the given event id which will be notified during the current request, add an additional argument- Parameters:
eventIds- The event idsargName- The name of the additional argumentargValue- The value of the additional argument
-
removeArgumentForEvents
For all events of the given event id which will be notified during the current request, removes the additional argument with the given name which was added with theaddArgumentForEvents(String[], String, Object)method.- Parameters:
eventIds- The event idsargName- The name of the additional argument to remove
-
_observesEvent
protected void _observesEvent(Event event, List<Observer> supportedObservers, List<Future> result) throws Exception Observes the event- Parameters:
event- The eventsupportedObservers- list of observersresult- The result object to fill- Throws:
Exception- on error
-
dispose
- Specified by:
disposein interfaceDisposable
-
registerObserver
Registers anObserver.- Parameters:
observer- theObserver.
-
unregisterObserver
Unregisters anObserver.- Parameters:
observer- theObserver.
-