Package org.apache.xalan.extensions
Class ExtensionHandler
- java.lang.Object
-
- org.apache.xalan.extensions.ExtensionHandler
-
- Direct Known Subclasses:
ExtensionHandlerExsltFunction
,ExtensionHandlerGeneral
,ExtensionHandlerJava
public abstract class ExtensionHandler extends java.lang.Object
Abstract base class for handling an extension namespace for XPath. Provides functions to test a function's existence and call a function. Also provides functions for calling an element and testing for an element's existence.- Author:
- Sanjiva Weerawarana (sanjiva@watson.ibm.com)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract java.lang.Object
callFunction(java.lang.String funcName, java.util.Vector args, java.lang.Object methodKey, ExpressionContext exprContext)
Process a call to a function.abstract java.lang.Object
callFunction(FuncExtFunction extFunction, java.util.Vector args, ExpressionContext exprContext)
Process a call to a function.abstract boolean
isElementAvailable(java.lang.String element)
Tests whether a certain element name is known within this namespace.abstract boolean
isFunctionAvailable(java.lang.String function)
Tests whether a certain function name is known within this namespace.abstract void
processElement(java.lang.String localPart, ElemTemplateElement element, TransformerImpl transformer, Stylesheet stylesheetTree, java.lang.Object methodKey)
Process a call to this extension namespace via an element.
-
-
-
Method Detail
-
isFunctionAvailable
public abstract boolean isFunctionAvailable(java.lang.String function)
Tests whether a certain function name is known within this namespace.- Parameters:
function
- name of the function being tested- Returns:
- true if its known, false if not.
-
isElementAvailable
public abstract boolean isElementAvailable(java.lang.String element)
Tests whether a certain element name is known within this namespace.- Parameters:
element
- Name of element to check- Returns:
- true if its known, false if not.
-
callFunction
public abstract java.lang.Object callFunction(java.lang.String funcName, java.util.Vector args, java.lang.Object methodKey, ExpressionContext exprContext) throws javax.xml.transform.TransformerException
Process a call to a function.- Parameters:
funcName
- Function name.args
- The arguments of the function call.methodKey
- A key that uniquely identifies this class and method call.exprContext
- The context in which this expression is being executed.- Returns:
- the return value of the function evaluation.
- Throws:
javax.xml.transform.TransformerException
- if parsing trouble
-
callFunction
public abstract java.lang.Object callFunction(FuncExtFunction extFunction, java.util.Vector args, ExpressionContext exprContext) throws javax.xml.transform.TransformerException
Process a call to a function.- Parameters:
extFunction
- The XPath extension function.args
- The arguments of the function call.exprContext
- The context in which this expression is being executed.- Returns:
- the return value of the function evaluation.
- Throws:
javax.xml.transform.TransformerException
- if parsing trouble
-
processElement
public abstract void processElement(java.lang.String localPart, ElemTemplateElement element, TransformerImpl transformer, Stylesheet stylesheetTree, java.lang.Object methodKey) throws javax.xml.transform.TransformerException, java.io.IOException
Process a call to this extension namespace via an element. As a side effect, the results are sent to the TransformerImpl's result tree.- Parameters:
localPart
- Element name's local part.element
- The extension element being processed.transformer
- Handle to TransformerImpl.stylesheetTree
- The compiled stylesheet tree.methodKey
- A key that uniquely identifies this class and method call.- Throws:
XSLProcessorException
- thrown if something goes wrong while running the extension handler.MalformedURLException
- if loading troubleFileNotFoundException
- if loading troublejava.io.IOException
- if loading troublejavax.xml.transform.TransformerException
- if parsing trouble
-
-