public class ClassFunctions extends java.lang.Object implements Functions
new ClassFunctions(Integer.class, "int")
We can now use XPaths like:
"int:new(3)"new Integer(3)"int:getInteger('foo')"Integer.getInteger("foo")"int:floatValue(int:new(4))"new Integer(4).floatValue()
If the first argument of a method is ExpressionContext, the
expression context in which the function is evaluated is passed to
the method.
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.Object[] |
EMPTY_ARRAY |
private java.lang.Class |
functionClass |
private java.lang.String |
namespace |
| Constructor and Description |
|---|
ClassFunctions(java.lang.Class functionClass,
java.lang.String namespace)
Create a new ClassFunctions.
|
| Modifier and Type | Method and Description |
|---|---|
Function |
getFunction(java.lang.String namespace,
java.lang.String name,
java.lang.Object[] parameters)
Returns a
Function, if any, for the specified namespace,
name and parameter types. |
java.util.Set |
getUsedNamespaces()
Returns a set of one namespace - the one specified in the constructor.
|
private static final java.lang.Object[] EMPTY_ARRAY
private java.lang.Class functionClass
private java.lang.String namespace
public ClassFunctions(java.lang.Class functionClass,
java.lang.String namespace)
functionClass - Class providing the functionsnamespace - assigned nspublic java.util.Set getUsedNamespaces()
getUsedNamespaces in interface Functionspublic Function getFunction(java.lang.String namespace, java.lang.String name, java.lang.Object[] parameters)
Function, if any, for the specified namespace,
name and parameter types.getFunction in interface Functionsnamespace - if it is not the namespace specified in the constructor,
the method returns nullname - is a function name or "new" for a constructor.parameters - Object[] of parameters