org.apache.commons.jexl3.internal.introspection
Class FieldSetExecutor

java.lang.Object
  extended by 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
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
clone, equals, finalize, 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 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–2017 The Apache Software Foundation. All rights reserved.