Interface JexlMethod


public interface JexlMethod
Interface used for regular method invocation. Ex. ${foo.bar()}
Since:
1.0
  • Method Summary

    Modifier and Type
    Method
    Description
    returns the return type of the method invoked.
    invoke(Object obj, Object... params)
    Invocation method, called when the method invocation should be performed and a value returned.
    boolean
    Specifies if this JexlMethod is cacheable and able to be reused for this class of object it was returned for.
    boolean
    Checks whether a tryInvoke return value indicates a failure or not.
    tryInvoke(String name, Object obj, Object... params)
    Attempts to reuse this JexlMethod, checking that it is compatible with the actual set of arguments.
  • Method Details

    • getReturnType

      returns the return type of the method invoked.
      Returns:
      return type
    • invoke

      Object invoke(Object obj, Object... params) throws Exception
      Invocation method, called when the method invocation should be performed and a value returned.
      Parameters:
      obj - the object
      params - method parameters.
      Returns:
      the result
      Throws:
      Exception - on any error.
    • isCacheable

      boolean isCacheable()
      Specifies if this JexlMethod 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
    • tryFailed

      boolean tryFailed(Object rval)
      Checks whether a tryInvoke return value indicates a failure or not.

      Usage is : Object r = tryInvoke(...); if (tryFailed(r) {...} else {...}

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

      Object tryInvoke(String name, Object obj, Object... params) throws JexlException.TryFailed
      Attempts to reuse this JexlMethod, checking that it is compatible with the actual set of arguments. Related to isCacheable since this method is often used with cached JexlMethod instances.
      Parameters:
      name - the method name
      obj - the object to invoke the method upon
      params - the method arguments
      Returns:
      the result of the method invocation that should be checked by tryFailed to determine if it succeeded or failed.
      Throws:
      JexlException.TryFailed - if the underlying method was invoked but threw an exception (InvocationTargetException)