Package org.apache.commons.jxpath
Class ClassFunctions
- java.lang.Object
-
- org.apache.commons.jxpath.ClassFunctions
-
- All Implemented Interfaces:
Functions
public class ClassFunctions extends java.lang.Object implements Functions
Extension functions provided by a Java class. Let's say we declared a ClassFunction like this:
We can now use XPaths like:new ClassFunctions(Integer.class, "int")
"int:new(3)"
- Equivalent to
new Integer(3)
"int:getInteger('foo')"
- Equivalent to
Integer.getInteger("foo")
"int:floatValue(int:new(4))"
- Equivalent to
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.- Version:
- $Revision: 652845 $ $Date: 2008-05-02 12:46:46 -0500 (Fri, 02 May 2008) $
- Author:
- Dmitri Plotnikov
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.Object[]
EMPTY_ARRAY
private java.lang.Class
functionClass
private java.lang.String
namespace
-
Constructor Summary
Constructors Constructor Description ClassFunctions(java.lang.Class functionClass, java.lang.String namespace)
Create a new ClassFunctions.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Function
getFunction(java.lang.String namespace, java.lang.String name, java.lang.Object[] parameters)
Returns aFunction
, 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.
-
-
-
Method Detail
-
getUsedNamespaces
public java.util.Set getUsedNamespaces()
Returns a set of one namespace - the one specified in the constructor.- Specified by:
getUsedNamespaces
in interfaceFunctions
- Returns:
- a singleton
-
getFunction
public Function getFunction(java.lang.String namespace, java.lang.String name, java.lang.Object[] parameters)
Returns aFunction
, if any, for the specified namespace, name and parameter types.- Specified by:
getFunction
in interfaceFunctions
- Parameters:
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- Returns:
- a MethodFunction, a ConstructorFunction or null if there is no such function.
-
-