Class ExtensionsTable


  • public class ExtensionsTable
    extends java.lang.Object
    Class holding a table registered extension namespace handlers
    • Field Summary

      Fields 
      Modifier and Type Field Description
      java.util.Hashtable m_extensionFunctionNamespaces
      Table of extensions that may be called from the expression language via the call(name, ...) function.
    • Constructor Summary

      Constructors 
      Constructor Description
      ExtensionsTable​(StylesheetRoot sroot)
      The constructor (called from TransformerImpl) registers the StylesheetRoot for the transformation and instantiates an ExtensionHandler for each extension namespace.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addExtensionNamespace​(java.lang.String uri, ExtensionHandler extNS)
      Register an extension namespace handler.
      boolean elementAvailable​(java.lang.String ns, java.lang.String elemName)
      Execute the element-available() function.
      java.lang.Object extFunction​(java.lang.String ns, java.lang.String funcName, java.util.Vector argVec, java.lang.Object methodKey, ExpressionContext exprContext)
      Handle an extension function.
      java.lang.Object extFunction​(FuncExtFunction extFunction, java.util.Vector argVec, ExpressionContext exprContext)
      Handle an extension function.
      boolean functionAvailable​(java.lang.String ns, java.lang.String funcName)
      Execute the function-available() function.
      ExtensionHandler get​(java.lang.String extns)
      Get an ExtensionHandler object that represents the given namespace.
      • Methods inherited from class java.lang.Object

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

      • m_extensionFunctionNamespaces

        public java.util.Hashtable m_extensionFunctionNamespaces
        Table of extensions that may be called from the expression language via the call(name, ...) function. Objects are keyed on the call name.
    • Constructor Detail

      • ExtensionsTable

        public ExtensionsTable​(StylesheetRoot sroot)
                        throws javax.xml.transform.TransformerException
        The constructor (called from TransformerImpl) registers the StylesheetRoot for the transformation and instantiates an ExtensionHandler for each extension namespace.
        Throws:
        javax.xml.transform.TransformerException
    • Method Detail

      • get

        public ExtensionHandler get​(java.lang.String extns)
        Get an ExtensionHandler object that represents the given namespace.
        Parameters:
        extns - A valid extension namespace.
        Returns:
        ExtensionHandler object that represents the given namespace.
      • addExtensionNamespace

        public void addExtensionNamespace​(java.lang.String uri,
                                          ExtensionHandler extNS)
        Register an extension namespace handler. This handler provides functions for testing whether a function is known within the namespace and also for invoking the functions.
        Parameters:
        uri - the URI for the extension.
        extNS - the extension handler.
      • functionAvailable

        public boolean functionAvailable​(java.lang.String ns,
                                         java.lang.String funcName)
                                  throws javax.xml.transform.TransformerException
        Execute the function-available() function.
        Parameters:
        ns - the URI of namespace in which the function is needed
        funcName - the function name being tested
        Returns:
        whether the given function is available or not.
        Throws:
        javax.xml.transform.TransformerException
      • elementAvailable

        public boolean elementAvailable​(java.lang.String ns,
                                        java.lang.String elemName)
                                 throws javax.xml.transform.TransformerException
        Execute the element-available() function.
        Parameters:
        ns - the URI of namespace in which the function is needed
        elemName - name of element being tested
        Returns:
        whether the given element is available or not.
        Throws:
        javax.xml.transform.TransformerException
      • extFunction

        public java.lang.Object extFunction​(java.lang.String ns,
                                            java.lang.String funcName,
                                            java.util.Vector argVec,
                                            java.lang.Object methodKey,
                                            ExpressionContext exprContext)
                                     throws javax.xml.transform.TransformerException
        Handle an extension function.
        Parameters:
        ns - the URI of namespace in which the function is needed
        funcName - the function name being called
        argVec - arguments to the function in a vector
        methodKey - a unique key identifying this function instance in the stylesheet
        exprContext - a context which may be passed to an extension function and provides callback functions to access various areas in the environment
        Returns:
        result of executing the function
        Throws:
        javax.xml.transform.TransformerException
      • extFunction

        public java.lang.Object extFunction​(FuncExtFunction extFunction,
                                            java.util.Vector argVec,
                                            ExpressionContext exprContext)
                                     throws javax.xml.transform.TransformerException
        Handle an extension function.
        Parameters:
        extFunction - the extension function
        argVec - arguments to the function in a vector
        exprContext - a context which may be passed to an extension function and provides callback functions to access various areas in the environment
        Returns:
        result of executing the function
        Throws:
        javax.xml.transform.TransformerException