Package org.picocontainer.injectors
Class Injector
- java.lang.Object
-
- org.picocontainer.injectors.Injector
-
public class Injector extends java.lang.Objectconvenience class providing static methods to conveniently create injectors ( like org.junit.Assert )- Author:
- Konstantin Pribluda
-
-
Constructor Summary
Constructors Constructor Description Injector()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ComponentAdapterannotatedField(java.lang.Object key, java.lang.Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, java.lang.Class<? extends java.lang.annotation.Annotation> injectionAnnotation, boolean useNames)Convenience method to create annotated field injectorstatic ComponentAdapterannotatedMethod(java.lang.Object key, java.lang.Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, java.lang.Class<? extends java.lang.annotation.Annotation> injectionAnnotation, boolean useNames)convenience method to create annotated method injectorstatic ComponentAdaptercomposite(java.lang.Object componentKey, java.lang.Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, Injector... injectors)creates composite injectorstatic ComponentAdapterconstructor(java.lang.Object componentKey, java.lang.Class<?> componentImplementation, Parameter... parameters)Constructor injector that uses no monitor and no lifecycle adapter.static ComponentAdapterconstructor(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)Creates a ConstructorInjectorstatic ComponentAdapterconstructor(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, boolean rememberChosenCtor)Creates a ConstructorInjectorstatic ComponentAdaptermethod(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, java.lang.String methodName, boolean useNames)convenience method to create method injectorstatic ComponentAdaptermulti(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, ComponentMonitor componentMonitor, java.lang.String setterPrefix, boolean useNames)convenience method to create multi component adapterstatic ComponentAdapternamedField(java.lang.Object key, java.lang.Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, java.lang.String fieldNames)convenience method to create named field injectorstatic ComponentAdaptersetter(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, java.lang.String prefix, boolean useNames)convenience method to create setter injectorstatic ComponentAdaptertypedField(java.lang.Object key, java.lang.Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, java.lang.String classNames)conveniently create typed field injector
-
-
-
Method Detail
-
constructor
public static ComponentAdapter constructor(java.lang.Object componentKey, java.lang.Class<?> componentImplementation, Parameter... parameters)
Constructor injector that uses no monitor and no lifecycle adapter. This is a more convenient constructor for use when instantiating a constructor injector directly.- Parameters:
componentKey- the search key for this implementationcomponentImplementation- the concrete implementationparameters- the parameters used for initialization
-
constructor
public static ComponentAdapter constructor(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames) throws AbstractInjector.NotConcreteRegistrationException
Creates a ConstructorInjector- Parameters:
componentKey- the search key for this implementationcomponentImplementation- the concrete implementationparameters- the parameters to use for the initializationmonitor- the component monitor used by this addAdapteruseNames- use argument names when looking up dependencies- Throws:
AbstractInjector.NotConcreteRegistrationException- if the implementation is not a concrete class.java.lang.NullPointerException- if one of the parameters isnull
-
constructor
public static ComponentAdapter constructor(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, boolean rememberChosenCtor) throws AbstractInjector.NotConcreteRegistrationException
Creates a ConstructorInjector- Parameters:
componentKey- the search key for this implementationcomponentImplementation- the concrete implementationparameters- the parameters to use for the initializationmonitor- the component monitor used by this addAdapteruseNames- use argument names when looking up dependenciesrememberChosenCtor- remember the chosen constructor (to speed up second/subsequent calls)- Throws:
AbstractInjector.NotConcreteRegistrationException- if the implementation is not a concrete class.java.lang.NullPointerException- if one of the parameters isnull
-
annotatedField
public static ComponentAdapter annotatedField(java.lang.Object key, java.lang.Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, java.lang.Class<? extends java.lang.annotation.Annotation> injectionAnnotation, boolean useNames)
Convenience method to create annotated field injector- Parameters:
key-impl-parameters-componentMonitor-injectionAnnotation-useNames-- Returns:
- annotated field injector instance.
-
annotatedMethod
public static ComponentAdapter annotatedMethod(java.lang.Object key, java.lang.Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, java.lang.Class<? extends java.lang.annotation.Annotation> injectionAnnotation, boolean useNames)
convenience method to create annotated method injector- Parameters:
key-impl-parameters-monitor-injectionAnnotation-useNames-- Returns:
- method injector instance.
-
composite
public static ComponentAdapter composite(java.lang.Object componentKey, java.lang.Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, Injector... injectors)
creates composite injector- Parameters:
componentKey-componentImplementation-parameters-monitor-useNames-injectors-- Returns:
- composite injector instance.
-
method
public static ComponentAdapter method(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, java.lang.String methodName, boolean useNames) throws AbstractInjector.NotConcreteRegistrationException
convenience method to create method injector- Parameters:
componentKey-componentImplementation-parameters-monitor-methodName-useNames-- Returns:
- method injector instance.
- Throws:
AbstractInjector.NotConcreteRegistrationException
-
multi
public static ComponentAdapter multi(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, ComponentMonitor componentMonitor, java.lang.String setterPrefix, boolean useNames)
convenience method to create multi component adapter- Parameters:
componentKey-componentImplementation-parameters-componentMonitor-setterPrefix-useNames-- Returns:
- MultiInjector component adapter instance.
-
namedField
public static ComponentAdapter namedField(java.lang.Object key, java.lang.Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, java.lang.String fieldNames)
convenience method to create named field injector- Parameters:
key-impl-parameters-componentMonitor-fieldNames-- Returns:
- named field component injector instance.
-
setter
public static ComponentAdapter setter(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, java.lang.String prefix, boolean useNames) throws AbstractInjector.NotConcreteRegistrationException
convenience method to create setter injector- Parameters:
componentKey-componentImplementation-parameters-monitor-prefix-useNames-- Returns:
- setter injector instance.
- Throws:
AbstractInjector.NotConcreteRegistrationException
-
typedField
public static ComponentAdapter typedField(java.lang.Object key, java.lang.Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, java.lang.String classNames)
conveniently create typed field injector- Parameters:
key-impl-parameters-componentMonitor-classNames-- Returns:
- typed field injector instance.
-
-