Class AbstractExecutor
- java.lang.Object
-
- org.apache.commons.jexl3.internal.introspection.AbstractExecutor
-
- Direct Known Subclasses:
AbstractExecutor.Get,AbstractExecutor.Method,AbstractExecutor.Set
abstract class AbstractExecutor extends java.lang.ObjectAbstract class that is used to execute an arbitrary method that is introspected. This is the superclass for all other AbstractExecutor classes.- Since:
- 1.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractExecutor.GetAbstract class that is used to execute an arbitrary 'get' method.static classAbstractExecutor.MethodAbstract class that is used to execute an arbitrary method.static classAbstractExecutor.SetAbstract class that is used to execute an arbitrary 'set' method.
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.reflect.MethodmethodMethod to be executed.protected java.lang.Class<?>objectClassThe class this executor applies to.static java.lang.ObjectTRY_FAILEDA marker for invocation failures in tryInvoke.
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractExecutor(java.lang.Class<?> theClass, java.lang.reflect.Method theMethod)Default and sole constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static java.lang.IntegercastInteger(java.lang.Object arg)Coerce an Object which must be a number to an Integer.(package private) static java.lang.StringcastString(java.lang.Object arg)Coerce an Object to a String.(package private) static java.lang.Class<?>classOf(java.lang.Object instance)Gets the class of an object or Object if null.booleanequals(java.lang.Object obj)booleanequals(AbstractExecutor arg)Indicates whether some other executor is equivalent to this one.java.lang.reflect.MethodgetMethod()Gets the method to be executed or used as a marker.java.lang.StringgetMethodName()Gets the method name used.java.lang.Class<?>getTargetClass()Gets the object class targeted by this executor.java.lang.ObjectgetTargetProperty()Gets the property targeted by this executor.inthashCode()(package private) static java.lang.reflect.MethodinitMarker(java.lang.Class<?> clazz, java.lang.String name, java.lang.Class<?>... parms)A helper to initialize the marker methods (array.get, list.get, etc...).booleanisAlive()Tell whether the executor is alive by looking at the value of the method.booleanisCacheable()Specifies if this executor is cacheable and able to be reused for this class of object it was returned for.(package private) static java.lang.Object[]makeArgs(java.lang.Object... args)Creates an arguments array.booleantryFailed(java.lang.Object exec)Checks whether a tryExecute failed or not.
-
-
-
Method Detail
-
castInteger
static java.lang.Integer castInteger(java.lang.Object arg)
Coerce an Object which must be a number to an Integer.- Parameters:
arg- the Object to coerce- Returns:
- an Integer if it can be converted, null otherwise
-
castString
static java.lang.String castString(java.lang.Object arg)
Coerce an Object to a String.- Parameters:
arg- the Object to coerce- Returns:
- a String if it can be converted, null otherwise
-
classOf
static java.lang.Class<?> classOf(java.lang.Object instance)
Gets the class of an object or Object if null.- Parameters:
instance- the instance- Returns:
- the class
-
initMarker
static java.lang.reflect.Method initMarker(java.lang.Class<?> clazz, java.lang.String name, java.lang.Class<?>... parms)A helper to initialize the marker methods (array.get, list.get, etc...).- Parameters:
clazz- the class to introspectname- the name of the methodparms- the parameters- Returns:
- the method
-
makeArgs
static java.lang.Object[] makeArgs(java.lang.Object... args)
Creates an arguments array.- Parameters:
args- the list of arguments- Returns:
- the arguments array
-
equals
public boolean equals(AbstractExecutor arg)
Indicates whether some other executor is equivalent to this one.- Parameters:
arg- the other executor to check- Returns:
- true if both executors are equivalent, false otherwise
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
getMethod
public final java.lang.reflect.Method getMethod()
Gets the method to be executed or used as a marker.- Returns:
- Method The method used by execute in derived classes.
-
getMethodName
public final java.lang.String getMethodName()
Gets the method name used.- Returns:
- method name
-
getTargetClass
public final java.lang.Class<?> getTargetClass()
Gets the object class targeted by this executor.- Returns:
- the target object class
-
getTargetProperty
public java.lang.Object getTargetProperty()
Gets the property targeted by this executor.- Returns:
- the target property
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
isAlive
public final boolean isAlive()
Tell whether the executor is alive by looking at the value of the method.- Returns:
- boolean Whether the executor is alive.
-
isCacheable
public boolean isCacheable()
Specifies if this executor is cacheable and able to be reused for this class of object it was returned for.- Returns:
- true if can be reused for this class, false if not
-
tryFailed
public final boolean tryFailed(java.lang.Object exec)
Checks whether a tryExecute failed or not.- Parameters:
exec- the value returned by tryExecute- Returns:
- true if tryExecute failed, false otherwise
-
-