org.apache.xalan.extensions
Class ExtensionsTable

java.lang.Object
  |
  +--org.apache.xalan.extensions.ExtensionsTable

public class ExtensionsTable
extends java.lang.Object

**For internal use only** Class holding a table registered extension namespace handlers


Field Summary
 java.util.Hashtable m_extensionFunctionNamespaces
          **For internal use only** Table of extensions that may be called from the expression language via the call(name, ...) function.
 
Constructor Summary
ExtensionsTable()
          **For internal use only** Primes the new ExtensionsTable object with built-in namespaces.
 
Method Summary
 void addExtensionNamespace(java.lang.String uri, ExtensionHandler extNS)
          **For advanced use only** 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.
 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.
 ExtensionHandler makeJavaNamespace(java.lang.String ns)
          Declare the appropriate java extension handler.
 
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
**For internal use only** 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()
**For internal use only** Primes the new ExtensionsTable object with built-in namespaces.
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)
**For advanced use only** 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 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:
TransformerException -  

elementAvailable

public boolean elementAvailable(java.lang.String ns,
                                java.lang.String elemName)
                         throws TransformerException
Execute the element-available() function.
Parameters:
ns - the URI of namespace in which the function is needed
funcName - the function name being tested
elemName - name of element being tested
Returns:
whether the given function is available or not.
Throws:
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 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:
TransformerException -  

makeJavaNamespace

public ExtensionHandler makeJavaNamespace(java.lang.String ns)
                                   throws TransformerException
Declare the appropriate java extension handler.
Parameters:
ns - the URI of namespace in which the function is needed
Returns:
an ExtensionHandler for this namespace, or null if not found.
Throws:
TransformerException -  


Copyright � 2000 Apache XML Project. All Rights Reserved.