Class AbstractExecutor.Set

    • Constructor Detail

      • Set

        protected Set​(java.lang.Class<?> theClass,
                      java.lang.reflect.Method theMethod)
        Default and sole constructor.
        Parameters:
        theClass - the class this executor applies to
        theMethod - the method held by this executor
    • Method Detail

      • invoke

        public final java.lang.Object invoke​(java.lang.Object obj,
                                             java.lang.Object arg)
                                      throws java.lang.Exception
        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.
      • tryInvoke

        public final 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.
        Specified by:
        tryInvoke in interface JexlPropertySet
        Parameters:
        obj - the object to invoke the 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.
      • execute

        public abstract java.lang.Object execute​(java.lang.Object obj,
                                                 java.lang.Object value)
                                          throws java.lang.IllegalAccessException,
                                                 java.lang.reflect.InvocationTargetException
        Sets the property value of an object.
        Parameters:
        obj - The object to set the property in.
        value - The value.
        Returns:
        The return value.
        Throws:
        java.lang.IllegalAccessException - Method is inaccessible.
        java.lang.reflect.InvocationTargetException - Method body throws an exception.
      • tryExecute

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

        Parameters:
        obj - The object to invoke the method from.
        key - The property to set in the object.
        value - The value to use as the property value.
        Returns:
        The return value or TRY_FAILED if checking failed.