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_className
m_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, putToCache
public 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 ExtensionHandler
function
- name of the function being testedpublic boolean isElementAvailable(String element)
isElementAvailable
in class ExtensionHandler
element
- 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 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.TransformerException
- if parsing troublepublic Object callFunction(FuncExtFunction extFunction, Vector args, ExpressionContext exprContext) throws 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.TransformerException
public void processElement(String localPart, ElemTemplateElement element, TransformerImpl transformer, Stylesheet stylesheetTree, Object methodKey) throws TransformerException, 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.IOException
- if loading troubleTransformerException
- if parsing troubleCopyright © 2018 JBoss by Red Hat. All rights reserved.