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

    Modifier and Type
    Method
    Description
    invoke(Object obj, Object arg)
    Method used to set the property value of an object.
    boolean
    Specifies if this JexlPropertySet is cacheable and able to be reused for this class of object it was returned for.
    boolean
    Checks whether a tryInvoke failed or not.
    tryInvoke(Object obj, Object key, Object value)
    Attempts to reuse this JexlPropertySet, checking that it is compatible with the actual set of arguments.
  • Method Details

    • 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