Package org.picocontainer.behaviors

# Class FieldDecorated

java.lang.Object
org.picocontainer.behaviors.AbstractBehavior
org.picocontainer.behaviors.FieldDecorated

All Implemented Interfaces:
  `Serializable`, `Behavior`, `ComponentAdapter`, `ComponentLifecycle`, `ComponentMonitorStrategy`, `LifecycleStrategy`

public class FieldDecorated extends AbstractBehavior

See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static interface`
`FieldDecorated.Decorator`

## Nested classes/interfaces inherited from interface org.picocontainer.ComponentAdapter

`ComponentAdapter.NOTHING`

## Field Summary

### Fields inherited from class org.picocontainer.behaviors.AbstractBehavior

`delegate`

## Constructor Summary

Constructors
Constructor
Description
`FieldDecorated(ComponentAdapter delegate, Class<?> fieldClass, FieldDecorated.Decorator decorator)`

## Method Summary

Modifier and Type
Method
Description
`Object`
`getComponentInstance(PicoContainer container, Type into)`
Retrieve the component instance.
`String`
`getDescriptor()`
Get a string key descriptor of the component adapter for use in toString()

### Methods inherited from class org.picocontainer.behaviors.AbstractBehavior

`accept, changeMonitor, componentHasLifecycle, currentMonitor, dispose, dispose, findAdapterOfType, getComponentImplementation, getComponentInstance, getComponentKey, getDelegate, hasLifecycle, isLazy, isStarted, start, start, stop, stop, toString, verify`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### FieldDecorated

public FieldDecorated(ComponentAdapter delegate, Class<?> fieldClass, FieldDecorated.Decorator decorator)

## Method Details

### getComponentInstance

public Object getComponentInstance(PicoContainer container, Type into) throws PicoCompositionException
Description copied from interface: `ComponentAdapter`
Retrieve the component instance. This method will usually create a new instance each time it is called, but that is not required. For example, `Cached` will always return the same instance.

Specified by:
  `getComponentInstance` in interface `ComponentAdapter`
Overrides:
  `getComponentInstance` in class `AbstractBehavior`
Parameters:
  `container` - the `PicoContainer`, that is used to resolve any possible dependencies of the instance.
  `into` - the class that is about to be injected into. Use ComponentAdapter.NOTHING.class if this is not important to you.
Returns:
  the component instance.
Throws:
  `PicoCompositionException` - if the component has dependencies which could not be resolved, or instantiation of the component lead to an ambiguous situation within the container.

### getDescriptor

public String getDescriptor()
Description copied from interface: `ComponentAdapter`
Get a string key descriptor of the component adapter for use in toString()

Returns:
  the descriptor