org.apache.commons.jexl2.internal
Class AbstractExecutor.Get
java.lang.Object
org.apache.commons.jexl2.internal.AbstractExecutor
org.apache.commons.jexl2.internal.AbstractExecutor.Get
- All Implemented Interfaces:
- JexlPropertyGet
- Direct Known Subclasses:
- BooleanGetExecutor, DuckGetExecutor, ListGetExecutor, MapGetExecutor, PropertyGetExecutor
- Enclosing class:
- AbstractExecutor
public abstract static class AbstractExecutor.Get
- extends AbstractExecutor
- implements JexlPropertyGet
Abstract class that is used to execute an arbitrary 'get' method.
AbstractExecutor.Get
protected AbstractExecutor.Get(Class<?> theClass,
Method theMethod)
- Default and sole constructor.
- Parameters:
theClass
- the class this executor applies totheMethod
- the method held by this executor
invoke
public final Object invoke(Object obj)
throws Exception
- Method used to get the property value of an object.
- Specified by:
invoke
in interface JexlPropertyGet
- Parameters:
obj
- the object to get the property value from.
- Returns:
- the property value.
- Throws:
Exception
- on any error.
tryInvoke
public final Object tryInvoke(Object obj,
Object key)
- Attempts to reuse this JexlPropertyGet, checking that it is compatible with
the actual set of arguments.
- Specified by:
tryInvoke
in interface JexlPropertyGet
- Parameters:
obj
- the object to invoke the property get uponkey
- 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.
execute
public abstract Object execute(Object obj)
throws IllegalAccessException,
InvocationTargetException
- Gets the property value from an object.
- Parameters:
obj
- The object to get the property from.
- Returns:
- The property value.
- Throws:
IllegalAccessException
- Method is inaccessible.
InvocationTargetException
- Method body throws an exception.
tryExecute
public Object tryExecute(Object obj,
Object key)
- Tries to reuse this executor, checking that it is compatible with
the actual set of arguments.
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).
- Parameters:
obj
- The object to get the property from.key
- The property to get from the object.
- Returns:
- The property value or TRY_FAILED if checking failed.
Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.