Class PropertySetExecutor
- java.lang.Object
-
- org.apache.commons.jexl2.internal.AbstractExecutor
-
- org.apache.commons.jexl2.internal.AbstractExecutor.Set
-
- org.apache.commons.jexl2.internal.PropertySetExecutor
-
- All Implemented Interfaces:
JexlPropertySet
public final class PropertySetExecutor extends AbstractExecutor.Set
Specialized executor to set a property in an object.- Since:
- 2.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.commons.jexl2.internal.AbstractExecutor
AbstractExecutor.Get, AbstractExecutor.Method, AbstractExecutor.Set
-
-
Field Summary
-
Fields inherited from class org.apache.commons.jexl2.internal.AbstractExecutor
method, objectClass, TRY_FAILED
-
-
Constructor Summary
Constructors Constructor Description PropertySetExecutor(Introspector is, java.lang.Class<?> clazz, java.lang.String identifier, java.lang.Object arg)
Creates an instance by attempting discovery of the set method.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
execute(java.lang.Object o, java.lang.Object arg)
Sets the property value of 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, java.lang.Object arg)
Tries to reuse this executor, checking that it is compatible with the actual set of arguments.-
Methods inherited from class org.apache.commons.jexl2.internal.AbstractExecutor.Set
invoke, tryInvoke
-
Methods inherited from class org.apache.commons.jexl2.internal.AbstractExecutor
equals, equals, getMethod, getMethodName, getTargetClass, hashCode, isAlive, isCacheable, tryFailed
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.jexl2.introspection.JexlPropertySet
isCacheable, tryFailed
-
-
-
-
Constructor Detail
-
PropertySetExecutor
public PropertySetExecutor(Introspector is, java.lang.Class<?> clazz, java.lang.String identifier, java.lang.Object arg)
Creates an instance by attempting discovery of the set method.- Parameters:
is
- the introspectorclazz
- the class to introspectidentifier
- the property to setarg
- the value to set into the property
-
-
Method Detail
-
getTargetProperty
public java.lang.Object getTargetProperty()
Gets the property targeted by this executor.- Overrides:
getTargetProperty
in classAbstractExecutor
- Returns:
- the target property
-
execute
public java.lang.Object execute(java.lang.Object o, java.lang.Object arg) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Sets the property value of an object.- Specified by:
execute
in classAbstractExecutor.Set
- Parameters:
o
- The object to set the property in.arg
- The value.- Returns:
- The return value.
- Throws:
java.lang.IllegalAccessException
- Method is inaccessible.java.lang.reflect.InvocationTargetException
- Method body throws an exception.
-
tryExecute
public java.lang.Object tryExecute(java.lang.Object o, java.lang.Object identifier, java.lang.Object arg)
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,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) and thatarg
must be a valid argument for this executor underlying method.- Overrides:
tryExecute
in classAbstractExecutor.Set
- Parameters:
o
- The object to invoke the method from.identifier
- The property to set in the object.arg
- The value to use as the property value.- Returns:
- The return value or TRY_FAILED if checking failed.
-
-