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 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
`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.

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.