org.apache.commons.jexl2.internal
Class PropertySetExecutor

java.lang.Object
  extended by org.apache.commons.jexl2.internal.AbstractExecutor
      extended by org.apache.commons.jexl2.internal.AbstractExecutor.Set
          extended by 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
PropertySetExecutor(Introspector is, Class<?> clazz, String identifier, Object arg)
          Creates an instance by attempting discovery of the set method.
 
Method Summary
 Object execute(Object o, Object arg)
          Sets the property value of an object.
 Object getTargetProperty()
          Gets the property targeted by this executor.
 Object tryExecute(Object o, Object identifier, 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,
                           Class<?> clazz,
                           String identifier,
                           Object arg)
Creates an instance by attempting discovery of the set method.

Parameters:
is - the introspector
clazz - the class to introspect
identifier - the property to set
arg - the value to set into the property
Method Detail

getTargetProperty

public Object getTargetProperty()
Gets the property targeted by this executor.

Overrides:
getTargetProperty in class AbstractExecutor
Returns:
the target property

execute

public Object execute(Object o,
                      Object arg)
               throws IllegalAccessException,
                      InvocationTargetException
Sets the property value of an object.

Specified by:
execute in class AbstractExecutor.Set
Parameters:
o - The object to set the property in.
arg - The value.
Returns:
The return value.
Throws:
IllegalAccessException - Method is inaccessible.
InvocationTargetException - Method body throws an exception.

tryExecute

public Object tryExecute(Object o,
                         Object identifier,
                         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 that arg must be a valid argument for this executor underlying method.

Overrides:
tryExecute in class AbstractExecutor.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.


Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.