public final class PropertyGetExecutor extends AbstractExecutor.Get
AbstractExecutor.Get, AbstractExecutor.Method, AbstractExecutor.Set
Modifier and Type | Field and Description |
---|---|
private static java.lang.Object[] |
EMPTY_PARAMS
A static signature for method().
|
private java.lang.String |
property
The property.
|
method, objectClass, TRY_FAILED
Constructor and Description |
---|
PropertyGetExecutor(Introspector is,
java.lang.Class<?> clazz,
java.lang.String identifier)
Creates an instance by attempting discovery of the get method.
|
Modifier and Type | Method and Description |
---|---|
(package private) static java.lang.reflect.Method |
discover(Introspector is,
java.lang.Class<?> clazz,
java.lang.String property)
Discovers the method for a
PropertyGet . |
(package private) static java.lang.reflect.Method |
discoverGet(Introspector is,
java.lang.String which,
java.lang.Class<?> clazz,
java.lang.String property)
Base method for boolean & object property get.
|
java.lang.Object |
execute(java.lang.Object o)
Gets the property value from an object.
|
java.lang.Object |
getTargetProperty()
Gets the property targeted by this executor.
|
java.lang.Object |
tryExecute(java.lang.Object o,
java.lang.Object identifier)
Tries to reuse this executor, checking that it is compatible with
the actual set of arguments.
|
invoke, tryInvoke
equals, equals, getMethod, getMethodName, getTargetClass, hashCode, initMarker, isAlive, isCacheable, makeArgs, tryFailed
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
isCacheable, tryFailed
private static final java.lang.Object[] EMPTY_PARAMS
private final java.lang.String property
public PropertyGetExecutor(Introspector is, java.lang.Class<?> clazz, java.lang.String identifier)
is
- the introspectorclazz
- the class to introspectidentifier
- the property to getpublic java.lang.Object getTargetProperty()
getTargetProperty
in class AbstractExecutor
public java.lang.Object execute(java.lang.Object o) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
execute
in class AbstractExecutor.Get
o
- The object to get the property from.java.lang.IllegalAccessException
- Method is inaccessible.java.lang.reflect.InvocationTargetException
- Method body throws an exception.public java.lang.Object tryExecute(java.lang.Object o, java.lang.Object identifier)
Compatibility means that:
o
must be of the same class as this executor's
target class and
property
must be of the same class as this
executor's target property (for list and map based executors) and have the same
value (for other types).
tryExecute
in class AbstractExecutor.Get
o
- The object to get the property from.identifier
- The property to get from the object.static java.lang.reflect.Method discover(Introspector is, java.lang.Class<?> clazz, java.lang.String property)
PropertyGet
.
The method to be found should be named "get{P,p}property.
is
- the introspectorclazz
- the class to find the get method fromproperty
- the property name to findstatic java.lang.reflect.Method discoverGet(Introspector is, java.lang.String which, java.lang.Class<?> clazz, java.lang.String property)
is
- the introspectorwhich
- "is" or "get" for boolean or objectclazz
- The class being examined.property
- The property being addressed.