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.
m_classNamem_namespaceUri, m_scriptLang| Constructor and Description |
|---|
ExtensionHandlerJavaPackage(String namespaceUri,
String scriptLang,
String className)
Construct a new extension namespace handler given all the information
needed.
|
| Modifier and Type | Method and Description |
|---|---|
Object |
callFunction(FuncExtFunction extFunction,
Vector args,
ExpressionContext exprContext)
Process a call to an XPath extension function
|
Object |
callFunction(String funcName,
Vector args,
Object methodKey,
ExpressionContext exprContext)
Process a call to a function in the package java namespace.
|
boolean |
isElementAvailable(String element)
Tests whether a certain element name is known within this namespace.
|
boolean |
isFunctionAvailable(String function)
Tests whether a certain function name is known within this namespace.
|
void |
processElement(String localPart,
ElemTemplateElement element,
TransformerImpl transformer,
Stylesheet stylesheetTree,
Object methodKey)
Process a call to this extension namespace via an element.
|
getFromCache, putToCachepublic ExtensionHandlerJavaPackage(String namespaceUri, String scriptLang, 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(String function)
isFunctionAvailable in class ExtensionHandlerfunction - name of the function being testedpublic boolean isElementAvailable(String element)
isElementAvailable in class ExtensionHandlerelement - name of the element being testedpublic Object callFunction(String funcName, Vector args, Object methodKey, ExpressionContext exprContext) throws 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 ExtensionHandlerfuncName - 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.TransformerException - if parsing troublepublic Object callFunction(FuncExtFunction extFunction, Vector args, ExpressionContext exprContext) throws TransformerException
callFunction in class ExtensionHandlerextFunction - The XPath extension functionargs - The arguments of the function call.exprContext - The context in which this expression is being executed.TransformerExceptionpublic void processElement(String localPart, ElemTemplateElement element, TransformerImpl transformer, Stylesheet stylesheetTree, Object methodKey) throws TransformerException, IOException
processElement in class ExtensionHandlerlocalPart - 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.IOException - if loading troubleTransformerException - if parsing troubleCopyright © 2017 JBoss by Red Hat. All rights reserved.