Package com.saxonica.config
Class JavaExtensionFunctionFactory
java.lang.Object
com.saxonica.config.JavaExtensionFunctionFactory
- All Implemented Interfaces:
ExtensionFunctionFactory
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.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionmakeExtensionFunctionCall
(StructuredQName functionName, Class theClass, AccessibleObject method, Expression[] arguments, Configuration config) Factory method to create an expression that calls a Java extension function.void
setExtensionFunctionClass
(Class subclass) Set the class to be used to represent extension function calls.
-
Constructor Details
-
JavaExtensionFunctionFactory
-
-
Method Details
-
setExtensionFunctionClass
Set the class to be used to represent extension function calls. This must be a subclass ofJavaExtensionFunctionCall
- Parameters:
subclass
- the subclass of ExtensionFunctionCall to be used
-
makeExtensionFunctionCall
public Expression makeExtensionFunctionCall(StructuredQName functionName, Class theClass, AccessibleObject method, Expression[] arguments, Configuration config) 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.config
- the Configuration- Returns:
- the constructed ExtensionFunctionCall object (a subclass might return any expression representing the extension function call).
-