org.apache.commons.jexl3.introspection
Interface JexlMethod

All Known Implementing Classes:
AbstractExecutor.Method, ConstructorMethod, MethodExecutor

public interface JexlMethod

Interface used for regular method invocation. Ex. ${foo.bar()}

Since:
1.0

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

Method Detail

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.

tryInvoke

Object tryInvoke(String name,
                 Object obj,
                 Object... params)
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.

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

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

getReturnType

Class<?> getReturnType()
returns the return type of the method invoked.

Returns:
return type


Copyright © 2001–2017 The Apache Software Foundation. All rights reserved.