net.sf.saxon.functions
Class JavaExtensionFunctionFactory
java.lang.Object
net.sf.saxon.functions.JavaExtensionFunctionFactory
- All Implemented Interfaces:
- Serializable, ExtensionFunctionFactory
public class JavaExtensionFunctionFactory
- extends Object
- implements ExtensionFunctionFactory, Serializable
This class acts as a factory for creating expressions that call Java extension functions.
A different factory may be registered with the Configuration in order to customize the
behaviour. Alternatively, this factory class can be customized by calling setExtensionFunctionClass
to nominate a subclass of ExtensionFunctionCall to be used to implement calls on extension functions.
Note that this class handles Java extension functions only; a different class,
DotNetExtensionFunctionFactory, is used for .NET extensions.
- See Also:
- Serialized Form
JavaExtensionFunctionFactory
public JavaExtensionFunctionFactory(Configuration config)
setExtensionFunctionClass
public void setExtensionFunctionClass(Class subclass)
- Set the class to be used to represent extension function calls. This must be a subclass
of
ExtensionFunctionCall
- Parameters:
subclass
- the subclass of ExtensionFunctionCall to be used
makeExtensionFunctionCall
public Expression makeExtensionFunctionCall(StructuredQName functionName,
Class theClass,
AccessibleObject method,
Expression[] arguments)
- Factory method to create an expression that calls a Java extension function.
This is always called at XPath compile time.
- Parameters:
functionName
- the name of the functiontheClass
- the Java class containing the extension functionmethod
- The "accessibleObject" representing a constructor, method, or field corresponding
to the extension functionarguments
- Array containing the expressions supplied as arguments to the function call.
- Returns:
- the constructed ExtensionFunctionCall object (a subclass might return any expression
representing the extension function call).
Copyright (C) Michael H. Kay. All rights reserved.