org.picocontainer.injectors
Class AdaptiveInjection

java.lang.Object
  extended by org.picocontainer.injectors.AdaptiveInjection
All Implemented Interfaces:
Serializable, ComponentFactory, InjectionFactory

public class AdaptiveInjection
extends Object
implements InjectionFactory, Serializable

Creates instances Injectors, depending on whether the component is the presence of Annotations and characteristics.

Author:
Paul Hammant
See Also:
Serialized Form

Constructor Summary
AdaptiveInjection()
           
 
Method Summary
 ComponentAdapter createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class componentImplementation, Parameter... parameters)
          Create a new component adapter based on the specified arguments.
protected  boolean isFieldAnnotationInjection(Class componentImplementation)
           
protected  boolean isMethodAnnotationInjection(Class componentImplementation)
           
protected  ComponentAdapter makeDefaultInjection(Properties componentProperties, ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Object componentKey, Class componentImplementation, Parameter... parameters)
           
protected  ComponentAdapter makeIfFieldAnnotationInjection(Class componentImplementation, ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, ComponentAdapter componentAdapter, Parameter... parameters)
           
protected  ComponentAdapter makeIfMethodAnnotationInjection(Class componentImplementation, ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, ComponentAdapter componentAdapter, Parameter... parameters)
           
protected  ComponentAdapter makeIfMethodInjection(Properties componentProperties, ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Object componentKey, Class componentImplementation, ComponentAdapter componentAdapter, Parameter... parameters)
           
protected  ComponentAdapter makeIfSetterInjection(Properties componentProperties, ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Object componentKey, Class componentImplementation, ComponentAdapter componentAdapter, Parameter... parameters)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AdaptiveInjection

public AdaptiveInjection()
Method Detail

createComponentAdapter

public ComponentAdapter createComponentAdapter(ComponentMonitor componentMonitor,
                                               LifecycleStrategy lifecycleStrategy,
                                               Properties componentProperties,
                                               Object componentKey,
                                               Class componentImplementation,
                                               Parameter... parameters)
                                        throws PicoCompositionException
Description copied from interface: ComponentFactory
Create a new component adapter based on the specified arguments.

Specified by:
createComponentAdapter in interface ComponentFactory
Parameters:
componentMonitor - the component monitor
lifecycleStrategy - te lifecycle strategy
componentProperties - the component properties
componentKey - the key to be associated with this adapter. This value should be returned from a call to ComponentAdapter.getComponentKey() on the created adapter.
componentImplementation - the implementation class to be associated with this adapter. This value should be returned from a call to ComponentAdapter.getComponentImplementation() on the created adapter. Should not be null.
parameters - additional parameters to use by the component adapter in constructing component instances. These may be used, for example, to make decisions about the arguments passed into the component constructor. These should be considered hints; they may be ignored by some implementations. May be null, and may be of zero length.
Returns:
a new component adapter based on the specified arguments. Should not return null.
Throws:
PicoCompositionException - if the creation of the component adapter results in a PicoCompositionException.

makeDefaultInjection

protected ComponentAdapter makeDefaultInjection(Properties componentProperties,
                                                ComponentMonitor componentMonitor,
                                                LifecycleStrategy lifecycleStrategy,
                                                Object componentKey,
                                                Class componentImplementation,
                                                Parameter... parameters)

makeIfSetterInjection

protected ComponentAdapter makeIfSetterInjection(Properties componentProperties,
                                                 ComponentMonitor componentMonitor,
                                                 LifecycleStrategy lifecycleStrategy,
                                                 Object componentKey,
                                                 Class componentImplementation,
                                                 ComponentAdapter componentAdapter,
                                                 Parameter... parameters)

makeIfMethodInjection

protected ComponentAdapter makeIfMethodInjection(Properties componentProperties,
                                                 ComponentMonitor componentMonitor,
                                                 LifecycleStrategy lifecycleStrategy,
                                                 Object componentKey,
                                                 Class componentImplementation,
                                                 ComponentAdapter componentAdapter,
                                                 Parameter... parameters)

makeIfMethodAnnotationInjection

protected ComponentAdapter makeIfMethodAnnotationInjection(Class componentImplementation,
                                                           ComponentMonitor componentMonitor,
                                                           LifecycleStrategy lifecycleStrategy,
                                                           Properties componentProperties,
                                                           Object componentKey,
                                                           ComponentAdapter componentAdapter,
                                                           Parameter... parameters)

makeIfFieldAnnotationInjection

protected ComponentAdapter makeIfFieldAnnotationInjection(Class componentImplementation,
                                                          ComponentMonitor componentMonitor,
                                                          LifecycleStrategy lifecycleStrategy,
                                                          Properties componentProperties,
                                                          Object componentKey,
                                                          ComponentAdapter componentAdapter,
                                                          Parameter... parameters)

isMethodAnnotationInjection

protected boolean isMethodAnnotationInjection(Class componentImplementation)

isFieldAnnotationInjection

protected boolean isFieldAnnotationInjection(Class componentImplementation)


Copyright © 2003-2007 Codehaus. All Rights Reserved.