Class ClassFunctions

java.lang.Object
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 Integer.valueOf(3)
"int:getInteger('foo')"
Equivalent to Integer.getInteger("foo")
"int:floatValue(int:new(4))"
Equivalent to Integer.valueOf(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.

  • Constructor Details

    • ClassFunctions

      public ClassFunctions(Class functionClass, String namespace)
      Constructs a new ClassFunctions.
      Parameters:
      functionClass - Class providing the functions
      namespace - assigned ns
  • Method Details

    • 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.
    • getUsedNamespaces

      Returns a set of one namespace - the one specified in the constructor.
      Specified by:
      getUsedNamespaces in interface Functions
      Returns:
      a singleton