Package org.picocontainer.injectors

# Class NamedFieldInjector<T>

java.lang.Object
org.picocontainer.adapters.AbstractAdapter<T>
org.picocontainer.injectors.AbstractInjector<T>
org.picocontainer.injectors.IterativeInjector<T>
org.picocontainer.injectors.AbstractFieldInjector<T>
org.picocontainer.injectors.NamedFieldInjector<T>

All Implemented Interfaces:
  `Serializable`, `ComponentAdapter<T>`, `ComponentMonitorStrategy`, `Injector<T>`

public class NamedFieldInjector<T> extends AbstractFieldInjector<T>
Injection happens after instantiation, and fields are marked as injection points via a named field.

See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class org.picocontainer.injectors.AbstractInjector

`AbstractInjector.AmbiguousComponentResolutionException, AbstractInjector.CyclicDependencyException, AbstractInjector.NotConcreteRegistrationException, AbstractInjector.UnsatisfiableDependenciesException`

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

`ComponentAdapter.NOTHING`

## Field Summary

### Fields inherited from class org.picocontainer.injectors.IterativeInjector

`bindings, injectionMembers, injectionTypes`

### Fields inherited from class org.picocontainer.injectors.AbstractInjector

`parameters, verifyingGuard`

## Constructor Summary

Constructors
Constructor
Description
`NamedFieldInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, String fieldNames)`

## Method Summary

Modifier and Type
Method
Description
`String`
`getDescriptor()`
Get a string key descriptor of the component adapter for use in toString()
`protected void`
`initializeInjectionMembersAndTypeLists()`
`protected Object`
`injectIntoMember(AccessibleObject member, Object componentInstance, Object toInject)`
`protected boolean`
`isNamedForInjection(Field field)`
`protected NameBinding`
`makeParameterNameImpl(AccessibleObject member)`
`protected Object`
`memberInvocationReturn(Object lastReturn, AccessibleObject member, Object instance)`

### Methods inherited from class org.picocontainer.injectors.AbstractFieldInjector

`unsatisfiedDependencies`

### Methods inherited from class org.picocontainer.injectors.IterativeInjector

`crudeMethodSignature, decorateComponentInstance, getComponentInstance, getConstructor, getName, isInjectorMethod, verify`

### Methods inherited from class org.picocontainer.injectors.AbstractInjector

`accept, box, caughtIllegalAccessException, caughtIllegalAccessException, caughtInstantiationException, caughtInvocationTargetException, createDefaultParameters, getComponentInstance, newInstance, useNames`

### Methods inherited from class org.picocontainer.adapters.AbstractAdapter

`changeMonitor, checkTypeCompatibility, currentMonitor, findAdapterOfType, getComponentImplementation, getComponentKey, getDelegate, toString`

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

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

### Methods inherited from interface org.picocontainer.ComponentAdapter

`findAdapterOfType, getComponentImplementation, getComponentKey, getDelegate`

## Constructor Details

### NamedFieldInjector

public NamedFieldInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, String fieldNames)

## Method Details

### initializeInjectionMembersAndTypeLists

protected void initializeInjectionMembersAndTypeLists()

Overrides:
  `initializeInjectionMembersAndTypeLists` in class `IterativeInjector<T>`

### isNamedForInjection

protected boolean isNamedForInjection(Field field)

### injectIntoMember

protected Object injectIntoMember(AccessibleObject member, Object componentInstance, Object toInject) throws IllegalAccessException, InvocationTargetException

Specified by:
  `injectIntoMember` in class `IterativeInjector<T>`
Throws:
  `IllegalAccessException`
  `InvocationTargetException`

### getDescriptor

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

Specified by:
  `getDescriptor` in interface `ComponentAdapter<T>`
Overrides:
  `getDescriptor` in class `AbstractInjector<T>`
Returns:
  the descriptor

### makeParameterNameImpl

protected NameBinding makeParameterNameImpl(AccessibleObject member)

Overrides:
  `makeParameterNameImpl` in class `IterativeInjector<T>`

### memberInvocationReturn

protected Object memberInvocationReturn(Object lastReturn, AccessibleObject member, Object instance)

Specified by:
  `memberInvocationReturn` in class `IterativeInjector<T>`