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.