public class FieldHandler
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
FieldHandler.METHOD_TYPE |
private static class |
FieldHandler.NotFound
Final state of field couldn't be found or errors occurred.
|
private static class |
FieldHandler.NotResolved
Initial state.
|
static class |
FieldHandler.ReferenceMethodImpl |
private static class |
FieldHandler.Resolved
Final state of field could be found and is valid.
|
private static interface |
FieldHandler.State
Internal state interface.
|
Modifier and Type | Field and Description |
---|---|
private java.lang.Class<?> |
componentClass
The component class.
|
private java.lang.reflect.Field |
field
The field used for the injection.
|
private ReferenceMetadata |
metadata
The reference metadata.
|
private FieldHandler.State |
state
State handling.
|
private ValueUtils.ValueType |
valueType
Value type.
|
Constructor and Description |
---|
FieldHandler(ReferenceMetadata metadata,
java.lang.Class<?> componentClass)
Create a new field handler
|
Modifier and Type | Method and Description |
---|---|
boolean |
fieldExists(ComponentLogger logger) |
ReferenceMethod |
getBind() |
private java.lang.Object |
getFieldValue(java.lang.Object componentInstance) |
InitReferenceMethod |
getInit() |
private java.util.Collection<java.lang.Object> |
getReplaceCollection(BindParameters bp) |
ReferenceMethod |
getUnbind() |
ReferenceMethod |
getUpdated() |
private boolean |
initField(java.lang.Object componentInstance,
ComponentLogger logger) |
private void |
setFieldValue(java.lang.Object componentInstance,
java.lang.Object value) |
(package private) void |
setSearchResult(FieldUtils.FieldSearchResult result,
ComponentLogger logger) |
private MethodResult |
updateField(FieldHandler.METHOD_TYPE mType,
java.lang.Object componentInstance,
BindParameters bp) |
private final ReferenceMetadata metadata
private final java.lang.Class<?> componentClass
private volatile java.lang.reflect.Field field
private volatile ValueUtils.ValueType valueType
private volatile FieldHandler.State state
public FieldHandler(ReferenceMetadata metadata, java.lang.Class<?> componentClass)
fieldName
- name of the fieldcomponentClass
- component classreferenceClassName
- service class nameprivate boolean initField(java.lang.Object componentInstance, ComponentLogger logger)
private java.util.Collection<java.lang.Object> getReplaceCollection(BindParameters bp)
private MethodResult updateField(FieldHandler.METHOD_TYPE mType, java.lang.Object componentInstance, BindParameters bp) throws java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
private void setFieldValue(java.lang.Object componentInstance, java.lang.Object value) throws java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
private java.lang.Object getFieldValue(java.lang.Object componentInstance) throws java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
public boolean fieldExists(ComponentLogger logger)
void setSearchResult(FieldUtils.FieldSearchResult result, ComponentLogger logger)
public ReferenceMethod getBind()
public ReferenceMethod getUnbind()
public ReferenceMethod getUpdated()
public InitReferenceMethod getInit()