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
Interface Parameter

All Known Implementing Classes:
  BasicComponentParameter, CollectionComponentParameter, ComponentParameter, ConstantParameter

    public interface Parameter

This class provides control over the arguments that will be passed to a constructor. It can be used for finer control over what arguments are passed to a particular constructor.

Author:
  Jon Tirsén, Aslak Hellesøy, Thomas Heller
See Also:
  `a method on the {@link MutablePicoContainer} interface which allows passing in of an array of {@linkplain Parameter Parameters}.`, `an implementation of this interface that allows you to specify the key used for resolving the parameter.`, `an implementation of this interface that allows you to specify a constant that will be used for resolving the parameter.`

Field Summary
`static Parameter[]` | `DEFAULT`
`static Parameter[]` | `ZERO` Zero parameter is used when you wish a component to be instantiated with its default constructor.

Method Summary
`void` | `accept(PicoVisitor visitor)` Accepts a visitor for this Parameter.
`boolean` | `isResolvable(PicoContainer container, ComponentAdapter<?> adapter, Type expectedType, NameBinding expectedNameBinding, boolean useNames, Annotation binding)` Check if the Parameter can satisfy the expected type using 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

Field Detail

### ZERO

    static final Parameter[] ZERO

  Zero parameter is used when you wish a component to be instantiated with its default constructor. Ex:

                      MutablePicoContainer mpc = new PicoBuilder().build();
                      mpc.addComponent(Map.class, HashMap.class, Parameter.ZERO);
                      mpc.addComponent(List.class, ArrayList.class, Parameter.ZERO);

  By specifying the default constructor in this example code, you allow PicoContainer to recognize that HashMap(Collection) should not be used and avoid a CircularDependencyException.

### DEFAULT

    static final Parameter[] DEFAULT

Method Detail

### resolveInstance

    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.

  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
    `useNames` -
    `binding` -
  Returns:
    the instance or `null` if no suitable instance can be found.
  Throws:
    `PicoCompositionException` - if a referenced component could not be instantiated.

### isResolvable

    boolean isResolvable(PicoContainer container,
                         ComponentAdapter<?> adapter,
                         Type expectedType,
                         NameBinding expectedNameBinding,
                         boolean useNames,
                         Annotation binding)

  Check if the Parameter can satisfy the expected type using the container.

  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
    `useNames` -
    `binding` -
  Returns:
    `true` if the component parameter can be resolved.

### verify

    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

  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
    `useNames` -
    `binding` -
  Throws:
    `PicoCompositionException` - if parameter and its dependencies cannot be resolved

### accept

    void accept(PicoVisitor visitor)

  Accepts a visitor for this Parameter. The method is normally called by visiting a `ComponentAdapter`, that cascades the visitor also down to all its Parameters.

  Parameters:
    `visitor` - the visitor.

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.