org.apache.commons.jexl2.introspection
Interface JexlPropertySet

All Known Implementing Classes:
AbstractExecutor.Set, DuckSetExecutor, ListSetExecutor, MapSetExecutor, PropertySetExecutor, UberspectImpl.FieldPropertySet

public interface JexlPropertySet

Interface used for setting values that appear to be properties. Ex. ${foo.bar = "hello"}

Since:
1.0

Method Summary
 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.
 

Method Detail

invoke

Object invoke(Object obj,
              Object arg)
              throws Exception
Method used to set the property value of an object.

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

Object tryInvoke(Object obj,
                 Object key,
                 Object value)
Attempts to reuse this JexlPropertySet, checking that it is compatible with the actual set of arguments.

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

boolean tryFailed(Object rval)
Checks whether a tryInvoke failed or not.

Parameters:
rval - the value returned by tryInvoke
Returns:
true if tryInvoke failed, false otherwise

isCacheable

boolean isCacheable()
Specifies if this JexlPropertySet is cacheable and able to be reused for this class of object it was returned for.

Returns:
true if can be reused for this class, false if not


Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.