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 Summary
<T> T
getInstance(java.lang.Class<T> type)
          Returns a service instance bound in the container for a specific type.
<T> T
getInstance(Key<T> key)
          Returns a service instance bound in the container for a specific binding key.
<T> Provider<T>
getProvider(java.lang.Class<T> type)
           
<T> Provider<T>
getProvider(Key<T> key)
           
 void injectMembers(java.lang.Object object)
          Performs field injection on a given object, ignoring constructor injection.
 void shutdown()
          A lifecycle method that let's the injector's services to clean up their state and release resources.
 

Method Detail

getInstance

<T> T getInstance(java.lang.Class<T> type)
              throws ConfigurationException
Returns a service instance bound in the container for a specific type. Throws ConfigurationException if the type is not bound, or an instance can not be created.

Throws:
ConfigurationException

getInstance

<T> T getInstance(Key<T> key)
              throws ConfigurationException
Returns a service instance bound in the container for a specific binding key. Throws ConfigurationException if the key is not bound, or an instance can not be created.

Throws:
ConfigurationException

getProvider

<T> Provider<T> getProvider(java.lang.Class<T> type)
                        throws ConfigurationException
Throws:
ConfigurationException

getProvider

<T> Provider<T> getProvider(Key<T> key)
                        throws ConfigurationException
Throws:
ConfigurationException

injectMembers

void injectMembers(java.lang.Object object)
Performs 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 Provider will 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.


shutdown

void 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.



Copyright © 2001-2012 Apache Cayenne. All Rights Reserved.