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:
new ClassFunctions(Integer.class, "int")
We can now use XPaths like:
"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
Constructor Summary |
ClassFunctions(java.lang.Class functionClass,
java.lang.String namespace)
Create a new ClassFunctions. |
Method Summary |
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EMPTY_ARRAY
private static final java.lang.Object[] EMPTY_ARRAY
functionClass
private java.lang.Class functionClass
namespace
private java.lang.String namespace
ClassFunctions
public ClassFunctions(java.lang.Class functionClass,
java.lang.String namespace)
- Create a new ClassFunctions.
- Parameters:
functionClass
- Class providing the functionsnamespace
- assigned ns
getUsedNamespaces
public java.util.Set getUsedNamespaces()
- Returns a set of one namespace - the one specified in the constructor.
- Specified by:
getUsedNamespaces
in interface Functions
- Returns:
- a singleton
getFunction
public 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.
- Specified by:
getFunction
in interface Functions
- 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.