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>>
eventTypes
protected ConcurrentMap<String,Collection<ScopeEventBinding>>
listeners
-
Constructor Summary
Constructors Constructor Description DefaultScope(Class<? extends Annotation>... customEventTypes)
-
Method Summary
Modifier and Type Method Description void
addScopeEventListener(Object object)
Registers annotated methods of an arbitrary object for this scope lifecycle events.void
postScopeEvent(Class<? extends Annotation> type, Object... eventParameters)
Posts a scope event to all registered listeners.void
removeScopeEventListener(Object object)
<T> Provider<T>
scope(Provider<T> unscoped)
void
shutdown()
Shuts down this scope, postingBeforeScopeEnd
andAfterScopeEnd
events.
-
Field Details
-
eventTypes
-
listeners
-
-
Constructor Details
-
DefaultScope
-
-
Method Details
-
shutdown
public void shutdown()Shuts down this scope, postingBeforeScopeEnd
andAfterScopeEnd
events. -
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
-