net.sf.saxon.dotnet
Class DotNetExtensionFunctionFactory
java.lang.Object
net.sf.saxon.dotnet.DotNetExtensionFunctionFactory
- ExtensionFunctionFactory, Serializable
public class DotNetExtensionFunctionFactory
extends java.lang.Object
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.
DotNetExtensionFunctionFactory
public DotNetExtensionFunctionFactory(Configuration config)
makeExtensionFunctionCall
public Expression makeExtensionFunctionCall(StructuredQName functionName,
cli.System.Type theClass,
MemberInfo method,
Expression[] arguments)
Factory method to create an expression that calls a Java extension function.
This is always called at XPath compile time.
theClass
- 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.
- the constructed ExtensionFunctionCall object (a subclass might return any expression
representing the extension function call).
setExtensionFunctionClass
public void setExtensionFunctionClass(Class subclass)
subclass
- the subclass of ExtensionFunctionCall to be used