org.apache.commons.jexl3.internal.introspection

## Class FieldSetExecutor

- java.lang.Object
- - org.apache.commons.jexl3.internal.introspection.FieldSetExecutor

- All Implemented Interfaces:
    JexlPropertySet

      public final class FieldSetExecutor
      extends Object
      implements JexlPropertySet

  A JexlPropertySet for public fields.

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static JexlPropertySet` | `discover(Introspector is, Class<?> clazz, String identifier, Object value)` Attempts to discover a FieldSetExecutor.
    `Object` | `invoke(Object obj, Object arg)` Method used to set the property value of an object.
    `boolean` | `isCacheable()` Specifies if this JexlPropertySet is cacheable and able to be reused for this class of object it was returned for.
    `boolean` | `tryFailed(Object rval)` Checks whether a tryInvoke failed or not.
    `Object` | `tryInvoke(Object obj, Object key, Object value)` Attempts to reuse this JexlPropertySet, checking that it is compatible with the actual set of arguments.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### discover

          public static JexlPropertySet discover(Introspector is,
                                                 Class<?> clazz,
                                                 String identifier,
                                                 Object value)

      Attempts to discover a FieldSetExecutor.
      Parameters:
        `is` - the introspector
        `clazz` - the class to find the get method from
        `identifier` - the key to use as an argument to the get method
        `value` - the value to set the field to
      Returns:
        the executor if found, null otherwise

    - #### invoke

          public Object invoke(Object obj,
                               Object arg)
                        throws Exception

      Description copied from interface: `JexlPropertySet`
      Method used to set the property value of an object.
      Specified by:
        `invoke` in interface `JexlPropertySet`
      Parameters:
        `obj` - Object on which the property setter will be called with the value
        `arg` - value to be set
      Returns:
        the value returned from the set operation (impl specific)
      Throws:
        `Exception` - on any error.

    - #### tryInvoke

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

      Description copied from interface: `JexlPropertySet`
      Attempts to reuse this JexlPropertySet, checking that it is compatible with the actual set of arguments.
      Specified by:
        `tryInvoke` in interface `JexlPropertySet`
      Parameters:
        `obj` - the object to invoke the get upon
        `key` - the property key to get
        `value` - the property value to set
      Returns:
        the result of the method invocation that should be checked by tryFailed to determine if it succeeded or failed.

    - #### tryFailed

          public boolean tryFailed(Object rval)

      Description copied from interface: `JexlPropertySet`
      Checks whether a tryInvoke failed or not.
      Specified by:
        `tryFailed` in interface `JexlPropertySet`
      Parameters:
        `rval` - the value returned by tryInvoke
      Returns:
        true if tryInvoke failed, false otherwise

    - #### isCacheable

          public boolean isCacheable()

      Description copied from interface: `JexlPropertySet`
      Specifies if this JexlPropertySet is cacheable and able to be reused for this class of object it was returned for.
      Specified by:
        `isCacheable` in interface `JexlPropertySet`
      Returns:
        true if can be reused for this class, false if not

Copyright © 2001–2021 The Apache Software Foundation. All rights reserved.