org.apache.xalan.extensions
public class ExtensionHandlerJavaPackage extends ExtensionHandlerJava
xalan://partial.class.name xalan:// http://xml.apache.org/xalan/java (which is the same as xalan://)However, we do not enforce this. If the class name contains a a /, we only use the part to the right of the rightmost slash. In addition, we ignore any "class:" prefix. Provides functions to test a function's existence and call a function. Also provides functions to test an element's existence and call an element.
Constructor and Description |
---|
ExtensionHandlerJavaPackage(java.lang.String namespaceUri,
java.lang.String scriptLang,
java.lang.String className)
Construct a new extension namespace handler given all the information
needed.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
callFunction(FuncExtFunction extFunction,
java.util.Vector args,
ExpressionContext exprContext)
Process a call to an XPath extension function
|
java.lang.Object |
callFunction(java.lang.String funcName,
java.util.Vector args,
java.lang.Object methodKey,
ExpressionContext exprContext)
Process a call to a function in the package java namespace.
|
boolean |
isElementAvailable(java.lang.String element)
Tests whether a certain element name is known within this namespace.
|
boolean |
isFunctionAvailable(java.lang.String function)
Tests whether a certain function name is known within this namespace.
|
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.
|
getFromCache, putToCache
public ExtensionHandlerJavaPackage(java.lang.String namespaceUri, java.lang.String scriptLang, java.lang.String className)
namespaceUri
- the extension namespace URI that I'm implementingscriptLang
- language of code implementing the extensionclassName
- the beginning of the class name of the class. This
should be followed by a dot (.)public boolean isFunctionAvailable(java.lang.String function)
isFunctionAvailable
in class ExtensionHandler
function
- name of the function being testedpublic boolean isElementAvailable(java.lang.String element)
isElementAvailable
in class ExtensionHandler
element
- name of the element being testedpublic java.lang.Object callFunction(java.lang.String funcName, java.util.Vector args, java.lang.Object methodKey, ExpressionContext exprContext) throws javax.xml.transform.TransformerException
Constructor: packagens:class.name.new(arg1, arg2, ...) Static method: packagens:class.name.method(arg1, arg2, ...) Instance method: packagens:method(obj, arg1, arg2, ...)We use the following rules to determine the type of call made:
callFunction
in class ExtensionHandler
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.javax.xml.transform.TransformerException
- if parsing troublepublic java.lang.Object callFunction(FuncExtFunction extFunction, java.util.Vector args, ExpressionContext exprContext) throws javax.xml.transform.TransformerException
callFunction
in class ExtensionHandler
extFunction
- The XPath extension functionargs
- The arguments of the function call.exprContext
- The context in which this expression is being executed.javax.xml.transform.TransformerException
public void processElement(java.lang.String localPart, ElemTemplateElement element, TransformerImpl transformer, Stylesheet stylesheetTree, java.lang.Object methodKey) throws javax.xml.transform.TransformerException, java.io.IOException
processElement
in class ExtensionHandler
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 element call.java.io.IOException
- if loading troublejavax.xml.transform.TransformerException
- if parsing troubleCopyright ? 2005 Apache XML Project. All Rights Reserved.