Package org.apache.cayenne.di.spi
Class DefaultScope
java.lang.Object
org.apache.cayenne.di.spi.DefaultScope
- All Implemented Interfaces:
Scope
public class DefaultScope extends Object implements Scope
An implementation of a DI scopes with support scope events.
- Since:
- 3.1
-
Field Summary
Fields Modifier and Type Field Description protected Collection<Class<? extends Annotation>>eventTypesprotected ConcurrentMap<String,Collection<ScopeEventBinding>>listeners -
Constructor Summary
Constructors Constructor Description DefaultScope(Class<? extends Annotation>... customEventTypes) -
Method Summary
Modifier and Type Method Description voidaddScopeEventListener(Object object)Registers annotated methods of an arbitrary object for this scope lifecycle events.voidpostScopeEvent(Class<? extends Annotation> type, Object... eventParameters)Posts a scope event to all registered listeners.voidremoveScopeEventListener(Object object)<T> Provider<T>scope(Provider<T> unscoped)voidshutdown()Shuts down this scope, postingBeforeScopeEndandAfterScopeEndevents.
-
Field Details
-
eventTypes
-
listeners
-
-
Constructor Details
-
DefaultScope
-
-
Method Details
-
shutdown
public void shutdown()Shuts down this scope, postingBeforeScopeEndandAfterScopeEndevents. -
addScopeEventListener
Registers annotated methods of an arbitrary object for this scope lifecycle events. -
removeScopeEventListener
-
postScopeEvent
Posts a scope event to all registered listeners. There's no predetermined order of event dispatching. An exception thrown by any of the listeners stops further event processing and is rethrown. -
scope
-