Class FieldSetExecutor

  • All Implemented Interfaces:
    JexlPropertySet

    public final class FieldSetExecutor
    extends java.lang.Object
    implements JexlPropertySet
    A JexlPropertySet 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 FieldSetExecutor​(java.lang.reflect.Field theField)
      Creates a new instance of FieldPropertySet.
    • Method Summary

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

        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

      • FieldSetExecutor

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

      • discover

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

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

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