org.picocontainer.parameters
Class BasicComponentParameter
java.lang.Object
org.picocontainer.parameters.AbstractParameter
org.picocontainer.parameters.BasicComponentParameter
- All Implemented Interfaces:
- Serializable, Parameter
- Direct Known Subclasses:
- ComponentParameter
public class BasicComponentParameter
- extends AbstractParameter
- implements Parameter, Serializable
A BasicComponentParameter 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. This Parameter will never resolve
against a collecting type, that is not directly registered in the PicoContainer itself.
- Author:
- Jon Tirsén, Aslak Hellesøy, Jörg Schaible, Thomas Heller
- See Also:
- Serialized Form
Method Summary |
void |
accept(PicoVisitor visitor)
Visit 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. |
protected
|
resolveAdapter(PicoContainer container,
ComponentAdapter adapter,
Class<T> expectedType,
NameBinding expectedNameBinding,
boolean useNames,
Annotation binding)
|
void |
verify(PicoContainer container,
ComponentAdapter<?> forAdapter,
Type expectedType,
NameBinding expectedNameBinding,
boolean useNames,
Annotation binding)
Verify that the Parameter can satisfy the expected type using the container |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BASIC_DEFAULT
public static final BasicComponentParameter BASIC_DEFAULT
BASIC_DEFAULT
is an instance of BasicComponentParameter using the default constructor.
BasicComponentParameter
public BasicComponentParameter(Object componentKey)
- Expect a parameter matching a component of a specific key.
- Parameters:
componentKey
- the key of the desired addComponent
BasicComponentParameter
public BasicComponentParameter()
- Expect any parameter of the appropriate type.
resolve
public 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.
- Specified by:
resolve
in interface Parameter
- Parameters:
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.
- Returns:
true
if the Parameter can be verified.
- Throws:
PicoCompositionException
- See Also:
Parameter#isResolvable(PicoContainer, ComponentAdapter, Class, NameBinding ,boolean, Annotation)
verify
public void verify(PicoContainer container,
ComponentAdapter<?> forAdapter,
Type expectedType,
NameBinding expectedNameBinding,
boolean useNames,
Annotation binding)
- Description copied from interface:
Parameter
- Verify that the Parameter can satisfy the expected type using the container
- Specified by:
verify
in interface Parameter
- Parameters:
container
- the container from which dependencies are resolved.forAdapter
- the ComponentAdapter
that is asking for the verificationexpectedType
- the required typeexpectedNameBinding
- Expected parameter name
accept
public void accept(PicoVisitor visitor)
- Visit the current
Parameter
.
- Specified by:
accept
in interface Parameter
- Parameters:
visitor
- the visitor.- See Also:
Parameter.accept(org.picocontainer.PicoVisitor)
resolveAdapter
protected <T> ComponentAdapter<T> resolveAdapter(PicoContainer container,
ComponentAdapter adapter,
Class<T> expectedType,
NameBinding expectedNameBinding,
boolean useNames,
Annotation binding)
Copyright © 2003-2010 Codehaus. All Rights Reserved.