net.sf.saxon.functions
Class JavaExtensionFunctionFactory

java.lang.Object
  extended by 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

Constructor Summary
JavaExtensionFunctionFactory(Configuration config)
           
 
Method Summary
 Expression makeExtensionFunctionCall(StructuredQName functionName, Class theClass, AccessibleObject method, Expression[] arguments)
          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.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaExtensionFunctionFactory

public JavaExtensionFunctionFactory(Configuration config)
Method Detail

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 function
theClass - the Java class containing the extension function
method - The "accessibleObject" representing a constructor, method, or field corresponding to the extension function
arguments - 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.