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

Nested Class Summary

Nested classes/interfaces inherited from interface org.picocontainer.Parameter
`Parameter.DelegateResolver, Parameter.NotResolved, Parameter.Resolver, Parameter.ValueResolver`

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`.
`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
`<T> ComponentAdapter<T>`
` | `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`

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

### 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 instance
    `expectedType` - the required type
    `expectedNameBinding` - Expected parameter name
    `binding` - @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 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)`

### resolveAdapter

    protected <T> ComponentAdapter<T> resolveAdapter(PicoContainer container,
                                                     ComponentAdapter adapter,
                                                     Class<T> expectedType,
                                                     NameBinding expectedNameBinding,
                                                     boolean useNames,
                                                     Annotation binding)

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.