|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Parameter
This class provides control over the arguments that will be passed to a constructor. It can be used for finer control over what arguments are passed to a particular constructor.
a method on the
{@link MutablePicoContainer} interface which allows passing in of an array of {@linkplain Parameter Parameters}.
,
an implementation of this interface that allows you to specify the key
used for resolving the parameter.
,
an implementation of this interface that allows you to specify a constant
that will be used for resolving the parameter.
Nested Class Summary | |
---|---|
static class |
Parameter.DelegateResolver
Delegate to another reolver |
static class |
Parameter.NotResolved
The Parameter cannot (ever) be resolved |
static interface |
Parameter.Resolver
Resolver is used transitarily during resolving of Parameters. |
static class |
Parameter.ValueResolver
A fixed value wrapped as a Resolver |
Field Summary | |
---|---|
static Parameter[] |
DEFAULT
|
static Parameter[] |
ZERO
Zero parameter is used when you wish a component to be instantiated with its default constructor. |
Method Summary | |
---|---|
void |
accept(PicoVisitor visitor)
Accepts a visitor for this Parameter. |
boolean |
isResolvable(PicoContainer container,
ComponentAdapter<?> forAdapter,
Type expectedType,
NameBinding expectedNameBinding,
boolean useNames,
Annotation binding)
Deprecated. |
Parameter.Resolver |
resolve(PicoContainer container,
ComponentAdapter<?> forAdapter,
ComponentAdapter<?> injecteeAdapter,
Type expectedType,
NameBinding expectedNameBinding,
boolean useNames,
Annotation binding)
Check if the Parameter can satisfy the expected type using the container. |
Object |
resolveInstance(PicoContainer container,
ComponentAdapter<?> forAdapter,
Type expectedType,
NameBinding expectedNameBinding,
boolean useNames,
Annotation binding)
Deprecated. |
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 |
Field Detail |
---|
static final Parameter[] ZERO
MutablePicoContainer mpc = new PicoBuilder().build(); mpc.addComponent(Map.class, HashMap.class, Parameter.ZERO); mpc.addComponent(List.class, ArrayList.class, Parameter.ZERO);
By specifying the default constructor in this example code, you allow PicoContainer to recognize that HashMap(Collection) should not be used and avoid a CircularDependencyException.
static final Parameter[] DEFAULT
Method Detail |
---|
Parameter.Resolver resolve(PicoContainer container, ComponentAdapter<?> forAdapter, ComponentAdapter<?> injecteeAdapter, Type expectedType, NameBinding expectedNameBinding, boolean useNames, Annotation binding)
container
- 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.void verify(PicoContainer container, ComponentAdapter<?> adapter, Type expectedType, NameBinding expectedNameBinding, boolean useNames, Annotation binding)
container
- the container from which dependencies are resolved.adapter
- the ComponentAdapter
that is asking for the verificationexpectedType
- the required typeexpectedNameBinding
- Expected parameter nameuseNames
- binding
-
PicoCompositionException
- if parameter and its dependencies cannot be resolvedvoid accept(PicoVisitor visitor)
ComponentAdapter
, that
cascades the visitor also down to all its Parameters.
visitor
- the visitor.@Deprecated Object resolveInstance(PicoContainer container, ComponentAdapter<?> forAdapter, Type expectedType, NameBinding expectedNameBinding, boolean useNames, Annotation binding)
@Deprecated boolean isResolvable(PicoContainer container, ComponentAdapter<?> forAdapter, Type expectedType, NameBinding expectedNameBinding, boolean useNames, Annotation binding)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |