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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.Class<?>
getReturnType()
returns the return type of the method invoked.java.lang.Object
invoke(java.lang.Object obj, java.lang.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(java.lang.Object rval)
Checks whether a tryInvoke return value indicates a failure or not.java.lang.Object
tryInvoke(java.lang.String name, java.lang.Object obj, java.lang.Object... params)
Attempts to reuse this JexlMethod, checking that it is compatible with the actual set of arguments.
-
-
-
Method Detail
-
getReturnType
java.lang.Class<?> getReturnType()
returns the return type of the method invoked.- Returns:
- return type
-
invoke
java.lang.Object invoke(java.lang.Object obj, java.lang.Object... params) throws java.lang.Exception
Invocation method, called when the method invocation should be performed and a value returned.- Parameters:
obj
- the objectparams
- method parameters.- Returns:
- the result
- Throws:
java.lang.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(java.lang.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
java.lang.Object tryInvoke(java.lang.String name, java.lang.Object obj, java.lang.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 nameobj
- the object to invoke the method uponparams
- 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
)
-
-