org.apache.commons.jexl3.internal.introspection

## Class FieldGetExecutor

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

- All Implemented Interfaces:
    JexlPropertyGet

      public final class FieldGetExecutor
      extends Object
      implements JexlPropertyGet

  A JexlPropertyGet for public fields.

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static JexlPropertyGet` | `discover(Introspector is, Class<?> clazz, String identifier)` Attempts to discover a FieldGetExecutor.
    `Object` | `invoke(Object obj)` Method used to get the property value of an object.
    `boolean` | `isCacheable()` Specifies if this JexlPropertyGet 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)` Attempts to reuse this JexlPropertyGet, 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 JexlPropertyGet discover(Introspector is,
                                                 Class<?> clazz,
                                                 String identifier)

      Attempts to discover a FieldGetExecutor.
      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
      Returns:
        the executor if found, null otherwise

    - #### invoke

          public Object invoke(Object obj)
                        throws Exception

      Description copied from interface: `JexlPropertyGet`
      Method used to get the property value of an object.
      Specified by:
        `invoke` in interface `JexlPropertyGet`
      Parameters:
        `obj` - the object to get the property value from.
      Returns:
        the property value.
      Throws:
        `Exception` - on any error.

    - #### tryInvoke

          public Object tryInvoke(Object obj,
                                  Object key)

      Description copied from interface: `JexlPropertyGet`
      Attempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.
      Specified by:
        `tryInvoke` in interface `JexlPropertyGet`
      Parameters:
        `obj` - the object to invoke the property get upon
        `key` - the property key to get
      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: `JexlPropertyGet`
      Checks whether a tryInvoke failed or not.
      Specified by:
        `tryFailed` in interface `JexlPropertyGet`
      Parameters:
        `rval` - the value returned by tryInvoke
      Returns:
        true if tryInvoke failed, false otherwise

    - #### isCacheable

          public boolean isCacheable()

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

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