Class PropertyGetExecutor
- java.lang.Object
-
- org.apache.commons.jexl3.internal.introspection.AbstractExecutor
-
- org.apache.commons.jexl3.internal.introspection.AbstractExecutor.Get
-
- org.apache.commons.jexl3.internal.introspection.PropertyGetExecutor
-
- All Implemented Interfaces:
JexlPropertyGet
public final class PropertyGetExecutor extends AbstractExecutor.Get
Specialized executor to get a property from an object.- Since:
- 2.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.commons.jexl3.internal.introspection.AbstractExecutor
AbstractExecutor.Get, AbstractExecutor.Method, AbstractExecutor.Set
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.Object[]
EMPTY_PARAMS
A static signature for method().private java.lang.String
property
The property.-
Fields inherited from class org.apache.commons.jexl3.internal.introspection.AbstractExecutor
method, objectClass, TRY_FAILED
-
-
Constructor Summary
Constructors Modifier Constructor Description private
PropertyGetExecutor(java.lang.Class<?> clazz, java.lang.reflect.Method method, java.lang.String identifier)
Creates an instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PropertyGetExecutor
discover(Introspector is, java.lang.Class<?> clazz, java.lang.String property)
Discovers a PropertyGetExecutor.(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 and object property get.java.lang.Object
getTargetProperty()
Gets the property targeted by this executor.java.lang.Object
invoke(java.lang.Object o)
Method used to get the property value of an object.java.lang.Object
tryInvoke(java.lang.Object o, java.lang.Object identifier)
Attempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.-
Methods inherited from class org.apache.commons.jexl3.internal.introspection.AbstractExecutor
castInteger, castString, classOf, equals, equals, getMethod, getMethodName, getTargetClass, hashCode, initMarker, isAlive, isCacheable, makeArgs, tryFailed
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.jexl3.introspection.JexlPropertyGet
isCacheable, tryFailed
-
-
-
-
Constructor Detail
-
PropertyGetExecutor
private PropertyGetExecutor(java.lang.Class<?> clazz, java.lang.reflect.Method method, java.lang.String identifier)
Creates an instance.- Parameters:
clazz
- he class the get method applies tomethod
- the method held by this executoridentifier
- the property to get
-
-
Method Detail
-
discover
public static PropertyGetExecutor discover(Introspector is, java.lang.Class<?> clazz, java.lang.String property)
Discovers a PropertyGetExecutor.The method to be found should be named "get{P,p}property.
- Parameters:
is
- the introspectorclazz
- the class to find the get method fromproperty
- the property name to find- Returns:
- the executor if found, null otherwise
-
discoverGet
static java.lang.reflect.Method discoverGet(Introspector is, java.lang.String which, java.lang.Class<?> clazz, java.lang.String property)
Base method for boolean and object property get.- Parameters:
is
- the introspectorwhich
- "is" or "get" for boolean or objectclazz
- The class being examined.property
- The property being addressed.- Returns:
- The {get,is}{p,P}roperty method if one exists, null otherwise.
-
getTargetProperty
public java.lang.Object getTargetProperty()
Description copied from class:AbstractExecutor
Gets the property targeted by this executor.- Overrides:
getTargetProperty
in classAbstractExecutor
- Returns:
- the target property
-
invoke
public java.lang.Object invoke(java.lang.Object o) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Description copied from interface:JexlPropertyGet
Method used to get the property value of an object.- Parameters:
o
- the object to get the property value from.- Returns:
- the property value.
- Throws:
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
-
tryInvoke
public java.lang.Object tryInvoke(java.lang.Object o, java.lang.Object identifier)
Description copied from interface:JexlPropertyGet
Attempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.- Parameters:
o
- the object to invoke the property get uponidentifier
- the property key to get- Returns:
- the result of the method invocation that should be checked by tryFailed to determine if it succeeded or failed.
-
-