Package org.apache.cayenne.di
Interface Injector
- All Known Implementing Classes:
- DefaultInjector
public interface Injector
A facade to the Cayenne DI container. To create an injector use 
DIBootstrap
 static methods.- Since:
- 3.1
- 
Method SummaryModifier and Type Method Description <T> TgetInstance(Class<T> type)Returns a service instance bound in the container for a specific type.<T> TgetInstance(Key<T> key)Returns a service instance bound in the container for a specific binding key.<T> Provider<T>getProvider(Class<T> type)<T> Provider<T>getProvider(Key<T> key)voidinjectMembers(Object object)Performs field injection on a given object, ignoring constructor injection.voidshutdown()A lifecycle method that let's the injector's services to clean up their state and release resources.
- 
Method Details- 
getInstanceReturns a service instance bound in the container for a specific type. ThrowsDIRuntimeExceptionif the type is not bound, or an instance can not be created.- Throws:
- DIRuntimeException
 
- 
getInstanceReturns a service instance bound in the container for a specific binding key. ThrowsDIRuntimeExceptionif the key is not bound, or an instance can not be created.- Throws:
- DIRuntimeException
 
- 
getProvider- Throws:
- DIRuntimeException
 
- 
getProvider- Throws:
- DIRuntimeException
 
- 
injectMembersPerforms field injection on a given object, ignoring constructor injection. Since Cayenne DI injector returns fully injected objects, this method is rarely used directly.Note that using this method inside a custom DI Providerwill most likely result in double injection, as custom provider is wrapped in a field-injecting provider by the DI container. Instead custom providers must initialize object properties manually, obtaining dependencies from Injector.
- 
shutdownvoid shutdown()A lifecycle method that let's the injector's services to clean up their state and release resources. This method would normally generate a scope end event for the injector's one and only singleton scope.
 
-