Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.picocontainer.parameters
Class BasicComponentParameter

    java.lang.Object
      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, Type expectedType, NameBinding expectedNameBinding, boolean useNames, Annotation binding)` Check whether the given Parameter can be satisfied by the container.
`Object` | `resolveInstance(PicoContainer container, ComponentAdapter<?> adapter, Type expectedType, NameBinding expectedNameBinding, boolean useNames, Annotation binding)` Retrieve the object from the Parameter that satisfies the expected type.
`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 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,
                                Type 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 Object resolveInstance(PicoContainer container,
                                  ComponentAdapter<?> adapter,
                                  Type 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,
                       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.
    `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)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2009 Codehaus. All Rights Reserved.