org.apache.commons.jxpath
Class ClassFunctions

java.lang.Object
  extended by org.apache.commons.jxpath.ClassFunctions
All Implemented Interfaces:
Functions

public class ClassFunctions
extends 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(Class functionClass, String namespace)
          Create a new ClassFunctions.
 
Method Summary
 Function getFunction(String namespace, String name, Object[] parameters)
          Returns a Function, if any, for the specified namespace, name and parameter types.
 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
 

Constructor Detail

ClassFunctions

public ClassFunctions(Class functionClass,
                      String namespace)
Create a new ClassFunctions.

Parameters:
functionClass - Class providing the functions
namespace - assigned ns
Method Detail

getUsedNamespaces

public 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(String namespace,
                            String name,
                            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 null
name - 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.


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.