public class ClassFunctions extends java.lang.Object implements Functions
We can now use XPaths like:new ClassFunctions(Integer.class, "int")
"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 Functions
public 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 Functions
namespace
- 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