private static class ReflectivePropertyAccessor.OptimalPropertyAccessor extends java.lang.Object implements PropertyAccessor
Modifier and Type | Field and Description |
---|---|
private java.lang.reflect.Member |
member |
private boolean |
needsToBeMadeAccessible |
private TypeDescriptor |
typeDescriptor |
Constructor and Description |
---|
ReflectivePropertyAccessor.OptimalPropertyAccessor(ReflectivePropertyAccessor.InvokerPair target) |
Modifier and Type | Method and Description |
---|---|
boolean |
canRead(EvaluationContext context,
java.lang.Object target,
java.lang.String name)
Called to determine if a resolver instance is able to access a specified property on a specified target object.
|
boolean |
canWrite(EvaluationContext context,
java.lang.Object target,
java.lang.String name)
Called to determine if a resolver instance is able to write to a specified property on a specified target object.
|
java.lang.Class[] |
getSpecificTargetClasses()
Return an array of classes for which this resolver should be called.
|
TypedValue |
read(EvaluationContext context,
java.lang.Object target,
java.lang.String name)
Called to read a property from a specified target object
|
void |
write(EvaluationContext context,
java.lang.Object target,
java.lang.String name,
java.lang.Object newValue)
Called to write to a property on a specified target object.
|
private final java.lang.reflect.Member member
private final TypeDescriptor typeDescriptor
private final boolean needsToBeMadeAccessible
ReflectivePropertyAccessor.OptimalPropertyAccessor(ReflectivePropertyAccessor.InvokerPair target)
public java.lang.Class[] getSpecificTargetClasses()
PropertyAccessor
getSpecificTargetClasses
in interface PropertyAccessor
public boolean canRead(EvaluationContext context, java.lang.Object target, java.lang.String name) throws AccessException
PropertyAccessor
canRead
in interface PropertyAccessor
context
- the evaluation context in which the access is being attemptedtarget
- the target object upon which the property is being accessedname
- the name of the property being accessedAccessException
- if there is any problem determining whether the property can be readpublic TypedValue read(EvaluationContext context, java.lang.Object target, java.lang.String name) throws AccessException
PropertyAccessor
read
in interface PropertyAccessor
context
- the evaluation context in which the access is being attemptedtarget
- the target object upon which the property is being accessedname
- the name of the property being accessedAccessException
- if there is any problem accessing the property valuepublic boolean canWrite(EvaluationContext context, java.lang.Object target, java.lang.String name)
PropertyAccessor
canWrite
in interface PropertyAccessor
context
- the evaluation context in which the access is being attemptedtarget
- the target object upon which the property is being accessedname
- the name of the property being accessedpublic void write(EvaluationContext context, java.lang.Object target, java.lang.String name, java.lang.Object newValue)
PropertyAccessor
write
in interface PropertyAccessor
context
- the evaluation context in which the access is being attemptedtarget
- the target object upon which the property is being accessedname
- the name of the property being accessednewValue
- the new value for the property