Class FieldGetExecutor

  • All Implemented Interfaces:
    JexlPropertyGet

    public final class FieldGetExecutor
    extends java.lang.Object
    implements JexlPropertyGet
    A JexlPropertyGet for public fields.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.reflect.Field field
      The public field.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private FieldGetExecutor​(java.lang.reflect.Field theField)
      Creates a new instance of FieldPropertyGet.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static JexlPropertyGet discover​(Introspector is, java.lang.Class<?> clazz, java.lang.String identifier)
      Attempts to discover a FieldGetExecutor.
      java.lang.Object invoke​(java.lang.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​(java.lang.Object rval)
      Checks whether a tryInvoke failed or not.
      java.lang.Object tryInvoke​(java.lang.Object obj, java.lang.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

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • field

        private final java.lang.reflect.Field field
        The public field.
    • Constructor Detail

      • FieldGetExecutor

        private FieldGetExecutor​(java.lang.reflect.Field theField)
        Creates a new instance of FieldPropertyGet.
        Parameters:
        theField - the class public field
    • Method Detail

      • discover

        public static JexlPropertyGet discover​(Introspector is,
                                               java.lang.Class<?> clazz,
                                               java.lang.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 java.lang.Object invoke​(java.lang.Object obj)
                                throws java.lang.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:
        java.lang.Exception - on any error.
      • 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
      • tryFailed

        public boolean tryFailed​(java.lang.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
      • tryInvoke

        public java.lang.Object tryInvoke​(java.lang.Object obj,
                                          java.lang.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.