Class ExtensionHandlerGeneral


  • public class ExtensionHandlerGeneral
    extends ExtensionHandler
    Class handling an extension namespace for XPath. Provides functions to test a function's existence and call a function
    Author:
    Sanjiva Weerawarana (sanjiva@watson.ibm.com)
    • Constructor Summary

      Constructors 
      Constructor Description
      ExtensionHandlerGeneral​(java.lang.String namespaceUri, StringVector elemNames, StringVector funcNames, java.lang.String scriptLang, java.lang.String scriptSrcURL, java.lang.String scriptSrc, java.lang.String systemId)
      Construct a new extension namespace handler given all the information needed.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object callFunction​(java.lang.String funcName, java.util.Vector args, java.lang.Object methodKey, ExpressionContext exprContext)
      Process a call to a function.
      java.lang.Object callFunction​(FuncExtFunction extFunction, java.util.Vector args, ExpressionContext exprContext)
      Process a call to an XPath extension function
      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.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ExtensionHandlerGeneral

        public ExtensionHandlerGeneral​(java.lang.String namespaceUri,
                                       StringVector elemNames,
                                       StringVector funcNames,
                                       java.lang.String scriptLang,
                                       java.lang.String scriptSrcURL,
                                       java.lang.String scriptSrc,
                                       java.lang.String systemId)
                                throws javax.xml.transform.TransformerException
        Construct a new extension namespace handler given all the information needed.
        Parameters:
        namespaceUri - the extension namespace URI that I'm implementing
        elemNames - Vector of element names
        funcNames - string containing list of functions of extension NS
        scriptLang - Scripting language of implementation
        scriptSrcURL - URL of source script
        scriptSrc - the actual script code (if any)
        systemId -
        Throws:
        javax.xml.transform.TransformerException
    • Method Detail

      • isFunctionAvailable

        public boolean isFunctionAvailable​(java.lang.String function)
        Tests whether a certain function name is known within this namespace.
        Specified by:
        isFunctionAvailable in class ExtensionHandler
        Parameters:
        function - name of the function being tested
        Returns:
        true if its known, false if not.
      • isElementAvailable

        public boolean isElementAvailable​(java.lang.String element)
        Tests whether a certain element name is known within this namespace.
        Specified by:
        isElementAvailable in class ExtensionHandler
        Parameters:
        element - name of the element being tested
        Returns:
        true if its known, false if not.
      • callFunction

        public 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.
        Specified by:
        callFunction in class ExtensionHandler
        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 java.lang.Object callFunction​(FuncExtFunction extFunction,
                                             java.util.Vector args,
                                             ExpressionContext exprContext)
                                      throws javax.xml.transform.TransformerException
        Process a call to an XPath extension function
        Specified by:
        callFunction in class ExtensionHandler
        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
      • processElement

        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
        Process a call to this extension namespace via an element. As a side effect, the results are sent to the TransformerImpl's result tree.
        Specified by:
        processElement in class ExtensionHandler
        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 trouble
        FileNotFoundException - if loading trouble
        java.io.IOException - if loading trouble
        javax.xml.transform.TransformerException - if parsing trouble