# Uses of Interface
org.picocontainer.Parameter

Packages that use Parameter
Package
Description
org.picocontainer
This package contains the core API for PicoContainer, a compact container for working with the dependency injection pattern.
org.picocontainer.behaviors
BehaviorFactories make Behaviors which change aspects of component implementations and instances
org.picocontainer.classname
org.picocontainer.containers
Containers are the main user entry point for PicoContainer.
org.picocontainer.injectors
InjectionFactories make Injectors which implement specific types of dependency injection
org.picocontainer.parameters
org.picocontainer.visitors

## Uses of Parameter in org.picocontainer

Fields in org.picocontainer declared as Parameter
Modifier and Type
Field
Description
`static final Parameter[]`
Parameter.`DEFAULT`
`static final Parameter[]`
Parameter.`ZERO`
Zero parameter is used when you wish a component to be instantiated with its default constructor.
Methods in org.picocontainer with parameters of type Parameter
Modifier and Type
Method
Description
`MutablePicoContainer`
DefaultPicoContainer.`addComponent(Object componentKey, Object componentImplementationOrInstance, Parameter... parameters)`
Register a component and creates specific instructions on which constructor to use, along with which components and/or constants to provide as constructor arguments.
`MutablePicoContainer`
MutablePicoContainer.`addComponent(Object componentKey, Object componentImplementationOrInstance, Parameter... parameters)`
Register a component and creates specific instructions on which constructor to use, along with which components and/or constants to provide as constructor arguments.
`<T> ComponentAdapter<T>`
ComponentFactory.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
Create a new component adapter based on the specified arguments.
`void`
PicoVisitor.`visitParameter(Parameter parameter)`
Visit a `Parameter` that has to accept the visitor.

## Uses of Parameter in org.picocontainer.behaviors

Methods in org.picocontainer.behaviors with parameters of type Parameter
Modifier and Type
Method
Description
`<T> ComponentAdapter<T>`
AbstractBehaviorFactory.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`ComponentAdapter`
AdaptingBehavior.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class componentImplementation, Parameter... parameters)`
`ComponentAdapter`
Automating.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Caching.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`ComponentAdapter`
Decorating.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class componentImplementation, Parameter... parameters)`
`ComponentAdapter`
FieldDecorating.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Guarding.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`ComponentAdapter`
ImplementationHiding.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Intercepting.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Locking.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
Create a new component adapter based on the specified arguments.
`<T> ComponentAdapter<T>`
OptInCaching.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
PropertyApplying.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Storing.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Synchronizing.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
Create a new component adapter based on the specified arguments.
`<T> ComponentAdapter<T>`
ThreadCaching.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`

## Uses of Parameter in org.picocontainer.classname

Methods in org.picocontainer.classname with parameters of type Parameter
Modifier and Type
Method
Description
`MutablePicoContainer`
DefaultClassLoadingPicoContainer.`addComponent(Object key, Object componentImplementationOrInstance, Parameter... parameters)`

## Uses of Parameter in org.picocontainer.containers

Methods in org.picocontainer.containers with parameters of type Parameter
Modifier and Type
Method
Description
`MutablePicoContainer`
AbstractDelegatingMutablePicoContainer.`addComponent(Object componentKey, Object componentImplementationOrInstance, Parameter... parameters)`

## Uses of Parameter in org.picocontainer.injectors

Fields in org.picocontainer.injectors declared as Parameter
Modifier and Type
Field
Description
`protected Parameter[]`
AbstractInjector.`parameters`
The parameters to use for initialization.
Methods in org.picocontainer.injectors that return Parameter
Modifier and Type
Method
Description
`protected Parameter[]`
AbstractInjector.`createDefaultParameters(int length)`
Create default parameters for the given types.
`Parameter[]`
ConstructorInjector.CtorAndAdapters.`getParameters()`
Methods in org.picocontainer.injectors with parameters of type Parameter
Modifier and Type
Method
Description
`static ComponentAdapter`
Injector.`annotatedField(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, Class<? extends Annotation> injectionAnnotation, boolean useNames)`
Convenience method to create annotated field injector
`static ComponentAdapter`
Injector.`annotatedMethod(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, Class<? extends Annotation> injectionAnnotation, boolean useNames)`
convenience method to create annotated method injector
`static ComponentAdapter`
Injector.`composite(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, Injector... injectors)`
creates composite injector
`static ComponentAdapter`
Injector.`constructor(Object componentKey, Class<?> componentImplementation, Parameter... parameters)`
Constructor injector that uses no monitor and no lifecycle adapter.
`static ComponentAdapter`
Injector.`constructor(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
Creates a ConstructorInjector
`static ComponentAdapter`
Injector.`constructor(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, boolean rememberChosenCtor)`
Creates a ConstructorInjector
`<T> ComponentAdapter<T>`
AdaptingInjection.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
AnnotatedFieldInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
AnnotatedMethodInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
Create a `SetterInjector`.
`<T> ComponentAdapter<T>`
CompositeInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
ConstructorInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties properties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
MethodInjection.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
MethodInjection.MethodInjectionByName.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
MethodInjection.MethodInjectionByReflectionMethod.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
MultiInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
NamedFieldInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
NamedMethodInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
SetterInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
Create a `SetterInjector`.
`<T> ComponentAdapter<T>`
TypedFieldInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`protected Object`
SingleMemberInjector.`getParameter(PicoContainer container, AccessibleObject member, int i, Type parameterType, Annotation binding, Parameter currentParameter, ComponentAdapter<?> injecteeAdapter)`
`static ComponentAdapter`
Injector.`method(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, String methodName, boolean useNames)`
convenience method to create method injector
`static ComponentAdapter`
Injector.`multi(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor componentMonitor, String setterPrefix, boolean useNames)`
convenience method to create multi component adapter
`static ComponentAdapter`
Injector.`namedField(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, String fieldNames)`
convenience method to create named field injector
`static ComponentAdapter`
Injector.`setter(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, String prefix, boolean useNames)`
convenience method to create setter injector
`static ComponentAdapter`
Injector.`typedField(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, String classNames)`
conveniently create typed field injector
Constructors in org.picocontainer.injectors with parameters of type Parameter
Modifier
Constructor
Description
``
`AbstractFieldInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
`protected`
`AbstractInjector(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
Constructs a new ComponentAdapter for the given key and implementation.
``
`AnnotatedFieldInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, Class<? extends Annotation> injectionAnnotation, boolean useNames)`
``
`AnnotatedMethodInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, Class<? extends Annotation> injectionAnnotation, boolean useNames)`
``
`ByMethodName(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, Set<String> injectionMethodNames, boolean useNames)`
``
`ByReflectionMethod(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, Method injectionMethod, boolean useNames)`
``
`CompositeInjector(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, Injector... injectors)`
``
`ConstructorInjector(Object componentKey, Class<?> componentImplementation, Parameter... parameters)`
Constructor injector that uses no monitor and no lifecycle adapter.
``
`ConstructorInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
Creates a ConstructorInjector
``
`ConstructorInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, boolean rememberChosenCtor)`
Creates a ConstructorInjector
``
`CtorAndAdapters(Constructor<TYPE> ctor, Parameter[] parameters, ComponentAdapter[] injecteeAdapters)`
``
`IterativeInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
Constructs a IterativeInjector
``
`MethodInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, String methodName, boolean useNames)`
Creates a MethodInjector
``
`MultiInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor componentMonitor, String setterPrefix, boolean useNames)`
``
`NamedFieldInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, String fieldNames)`
``
`NamedMethodInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor)`
``
`NamedMethodInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, boolean optional)`
``
`NamedMethodInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, String prefix)`
``
`NamedMethodInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, String prefix, boolean optional)`
``
`SetterInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, String prefix, String notThisOneThough, boolean optional, boolean useNames)`
Constructs a SetterInjector
``
`SingleMemberInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
``
`TypedFieldInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, String classNames)`

## Uses of Parameter in org.picocontainer.parameters

Classes in org.picocontainer.parameters that implement Parameter
Modifier and Type
Class
Description
`class`
`AbstractParameter`
`class`
`BasicComponentParameter`
A BasicComponentParameter should be used to pass in a particular component as argument to a different component's constructor.
`class`
`CollectionComponentParameter`
A CollectionComponentParameter should be used to support inject an `Array`, a `Collection`or `Map`of components automatically.
`class`
`ComponentParameter`
A ComponentParameter should be used to pass in a particular component as argument to a different component's constructor.
`class`
`ConstantParameter`
A ConstantParameter should be used to pass in "constant" arguments to constructors.
`final class`
`DefaultConstructorParameter`
Part of the replacement construct for Parameter.ZERO
`class`
`NullParameter`
Once in a great while, you actually want to pass in 'null' as an argument.

## Uses of Parameter in org.picocontainer.visitors

Methods in org.picocontainer.visitors with parameters of type Parameter
Modifier and Type
Method
Description
`void`
TraversalCheckingVisitor.`visitParameter(Parameter parameter)`
Visit a `Parameter` that has to accept the visitor.