org.picocontainer.parameters
Class BasicComponentParameter

java.lang.Object
  extended by org.picocontainer.parameters.BasicComponentParameter
All Implemented Interfaces:
Serializable, Parameter
Direct Known Subclasses:
ComponentParameter

public class BasicComponentParameter
extends Object
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

Field Summary
static BasicComponentParameter BASIC_DEFAULT
          BASIC_DEFAULT is an instance of BasicComponentParameter using the default constructor.
 
Fields inherited from interface org.picocontainer.Parameter
DEFAULT, ZERO
 
Constructor Summary
BasicComponentParameter()
          Expect any parameter of the appropriate type.
BasicComponentParameter(Object componentKey)
          Expect a parameter matching a component of a specific key.
 
Method Summary
 void accept(PicoVisitor visitor)
          Visit the current Parameter.
 boolean isResolvable(PicoContainer container, ComponentAdapter adapter, Class expectedType, NameBinding expectedNameBinding, boolean useNames, Annotation binding)
          Check whether the given Parameter can be satisfied by the container.
<T> T
resolveInstance(PicoContainer container, ComponentAdapter adapter, Class<T> expectedType, NameBinding expectedNameBinding, boolean useNames, Annotation binding)
          Retrieve the object from the Parameter that satisfies the expected type.
 void verify(PicoContainer container, ComponentAdapter adapter, Class 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
 

Field Detail

BASIC_DEFAULT

public static final BasicComponentParameter BASIC_DEFAULT
BASIC_DEFAULT is an instance of BasicComponentParameter using the default constructor.

Constructor Detail

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.

Method Detail

isResolvable

public boolean isResolvable(PicoContainer container,
                            ComponentAdapter adapter,
                            Class expectedType,
                            NameBinding expectedNameBinding,
                            boolean useNames,
                            Annotation binding)
Check whether the given Parameter can be satisfied by the container.

Specified by:
isResolvable in interface Parameter
Parameters:
container - the container from which dependencies are resolved.
adapter - the ComponentAdapter that is asking for the instance
expectedType - the required type
expectedNameBinding - Expected parameter name
Returns:
true if the Parameter can be verified.
Throws:
PicoCompositionException
See Also:
Parameter.isResolvable(PicoContainer, ComponentAdapter, Class, NameBinding ,boolean, Annotation)

resolveInstance

public <T> T resolveInstance(PicoContainer container,
                             ComponentAdapter adapter,
                             Class<T> expectedType,
                             NameBinding expectedNameBinding,
                             boolean useNames,
                             Annotation binding)
Description copied from interface: Parameter
Retrieve the object from the Parameter that satisfies the expected type.

Specified by:
resolveInstance in interface Parameter
Parameters:
container - the container from which dependencies are resolved.
adapter - the ComponentAdapter that is asking for the instance
expectedType - the type that the returned instance needs to match.
expectedNameBinding - Expected parameter name
Returns:
the instance or null if no suitable instance can be found.

verify

public void verify(PicoContainer container,
                   ComponentAdapter adapter,
                   Class 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.
adapter - the ComponentAdapter that is asking for the verification
expectedType - the required type
expectedNameBinding - 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)


Copyright © 2003-2010 Codehaus. All Rights Reserved.