|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.picocontainer.parameters.AbstractParameter
org.picocontainer.parameters.BasicComponentParameter
org.picocontainer.parameters.ComponentParameter
public class ComponentParameter
A ComponentParameter should be used to pass in a particular component as argument to a
different component's constructor. This is particularly useful in cases where several
components of the same type have been registered, but with a different key. Passing a
ComponentParameter as a parameter when registering a component will give PicoContainer a hint
about what other component to use in the constructor. Collecting parameter types are
supported for Array,Collectionand
Map.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.picocontainer.Parameter |
|---|
Parameter.DelegateResolver, Parameter.NotResolved, Parameter.Resolver, Parameter.ValueResolver |
| Field Summary | |
|---|---|
static ComponentParameter |
ARRAY
Use ARRAY as Parameterfor an Array that must have elements. |
static ComponentParameter |
ARRAY_ALLOW_EMPTY
Use ARRAY_ALLOW_EMPTY as Parameterfor an Array that may have no
elements. |
static ComponentParameter |
DEFAULT
DEFAULT is an instance of ComponentParameter using the default constructor. |
| Fields inherited from class org.picocontainer.parameters.BasicComponentParameter |
|---|
BASIC_DEFAULT |
| Fields inherited from interface org.picocontainer.Parameter |
|---|
ZERO |
| Constructor Summary | |
|---|---|
ComponentParameter()
Expect any scalar parameter of the appropriate type or an Array. |
|
ComponentParameter(boolean emptyCollection)
Expect any scalar parameter of the appropriate type or an Array. |
|
ComponentParameter(Class componentValueType,
boolean emptyCollection)
Expect any scalar parameter of the appropriate type or the collecting type Array,Collectionor Map. |
|
ComponentParameter(Class componentKeyType,
Class componentValueType,
boolean emptyCollection)
Expect any scalar parameter of the appropriate type or the collecting type Array,Collectionor Map. |
|
ComponentParameter(Object componentKey)
Expect a parameter matching a component of a specific key. |
|
| Method Summary | |
|---|---|
void |
accept(PicoVisitor visitor)
Accept the visitor for the current Parameter. |
Parameter.Resolver |
resolve(PicoContainer container,
ComponentAdapter<?> forAdapter,
ComponentAdapter<?> injecteeAdapter,
Type expectedType,
NameBinding expectedNameBinding,
boolean useNames,
Annotation binding)
Check whether the given Parameter can be satisfied by the container. |
void |
verify(PicoContainer container,
ComponentAdapter<?> adapter,
Type expectedType,
NameBinding expectedNameBinding,
boolean useNames,
Annotation binding)
Verify that the Parameter can satisfy the expected type using the container |
| Methods inherited from class org.picocontainer.parameters.BasicComponentParameter |
|---|
resolveAdapter |
| Methods inherited from class org.picocontainer.parameters.AbstractParameter |
|---|
isResolvable, resolveInstance |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.picocontainer.Parameter |
|---|
isResolvable, resolveInstance |
| Field Detail |
|---|
public static final ComponentParameter DEFAULT
DEFAULT is an instance of ComponentParameter using the default constructor.
public static final ComponentParameter ARRAY
ARRAY as Parameterfor an Array that must have elements.
public static final ComponentParameter ARRAY_ALLOW_EMPTY
ARRAY_ALLOW_EMPTY as Parameterfor an Array that may have no
elements.
| Constructor Detail |
|---|
public ComponentParameter(Object componentKey)
componentKey - the key of the desired addComponentpublic ComponentParameter()
Array.
public ComponentParameter(boolean emptyCollection)
Array.
Resolve the parameter even if no compnoent is of the array's component type.
emptyCollection - true allows an Array to be empty
public ComponentParameter(Class componentValueType,
boolean emptyCollection)
Array,Collectionor Map.
The components in the collection will be of the specified type.
componentValueType - the component's type (ignored for an Array)emptyCollection - true allows the collection to be empty
public ComponentParameter(Class componentKeyType,
Class componentValueType,
boolean emptyCollection)
Array,Collectionor Map.
The components in the collection will be of the specified type and their adapter's key
must have a particular type.
componentKeyType - the component adapter's key typecomponentValueType - the component's type (ignored for an Array)emptyCollection - true allows the collection to be empty| Method Detail |
|---|
public Parameter.Resolver resolve(PicoContainer container,
ComponentAdapter<?> forAdapter,
ComponentAdapter<?> injecteeAdapter,
Type expectedType,
NameBinding expectedNameBinding,
boolean useNames,
Annotation binding)
BasicComponentParameter
resolve in interface Parameterresolve in class BasicComponentParametercontainer - the container from which dependencies are resolved.forAdapter - the ComponentAdapter that is asking for the instanceinjecteeAdapter - the adapter to be injected into (null for N/A)expectedType - the required typeexpectedNameBinding - Expected parameter nameuseNames - should use parameter names for disambiguationbinding - @return true if the component parameter can be resolved.
true if the Parameter can be verified.Parameter#isResolvable(PicoContainer, ComponentAdapter, Class, NameBinding ,boolean, Annotation)
public void verify(PicoContainer container,
ComponentAdapter<?> adapter,
Type expectedType,
NameBinding expectedNameBinding,
boolean useNames,
Annotation binding)
Parameter
verify in interface Parameterverify in class BasicComponentParametercontainer - the container from which dependencies are resolved.adapter - the ComponentAdapter that is asking for the verificationexpectedType - the required typeexpectedNameBinding - Expected parameter namepublic void accept(PicoVisitor visitor)
Parameter. If internally a
CollectionComponentParameteris used, it is visited also.
accept in interface Parameteraccept in class BasicComponentParametervisitor - the visitor.BasicComponentParameter.accept(org.picocontainer.PicoVisitor)
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||