Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.jexl2.internal
Class DuckSetExecutor

    java.lang.Object
      org.apache.commons.jexl2.internal.AbstractExecutor
          org.apache.commons.jexl2.internal.AbstractExecutor.Set
              org.apache.commons.jexl2.internal.DuckSetExecutor

All Implemented Interfaces:
  JexlPropertySet

    public final class DuckSetExecutor

extends AbstractExecutor.Set

Specialized executor to set a property of an object.

Duck as in duck-typing for an interface like: `interface Set { Object set(Object property, Object value); }`

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
`DuckSetExecutor(Introspector is, Class<?> clazz, Object key, Object value)` Creates an instance.

Method Summary
`Object` | `execute(Object obj, Object value)` Sets the property value of an object.
`Object` | `getTargetProperty()` Gets the property targeted by this executor.
`Object` | `tryExecute(Object obj, Object key, Object value)` 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

### DuckSetExecutor

    public DuckSetExecutor(Introspector is,
                           Class<?> clazz,
                           Object key,
                           Object value)

  Creates an instance.

  Parameters:
    `is` - the introspector
    `clazz` - the class to find the set method from
    `key` - the key to use as 1st argument to the set method
    `value` - the value to use as 2nd argument to the set method

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 obj,
                          Object value)
                   throws IllegalAccessException,
                          InvocationTargetException

  Sets the property value of an object.

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

### tryExecute

    public Object tryExecute(Object obj,
                             Object key,
                             Object value)

  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:
    `obj` - The object to invoke the method from.
    `key` - The property to set in the object.
    `value` - The value to use as the property value.
  Returns:
    The return value or TRY_FAILED if checking failed.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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