org.apache.xalan.extensions
Class ExtensionHandlerJava

java.lang.Object
  extended by org.apache.xalan.extensions.ExtensionHandler
      extended by org.apache.xalan.extensions.ExtensionHandlerJava
Direct Known Subclasses:
ExtensionHandlerJavaClass, ExtensionHandlerJavaPackage

public abstract class ExtensionHandlerJava
extends ExtensionHandler

Abstract base class handling the java language extensions for XPath. This base class provides cache management shared by all of the various java extension handlers.


Field Summary
private  java.util.Hashtable m_cachedMethods
          Table of cached methods
protected  java.lang.String m_className
          Extension class name
 
Fields inherited from class org.apache.xalan.extensions.ExtensionHandler
m_namespaceUri, m_scriptLang
 
Constructor Summary
protected ExtensionHandlerJava(java.lang.String namespaceUri, java.lang.String scriptLang, java.lang.String className)
          Construct a new extension handler given all the information needed.
 
Method Summary
 java.lang.Object getFromCache(java.lang.Object methodKey, java.lang.Object objType, java.lang.Object[] methodArgs)
          Look up the entry in the method cache.
 java.lang.Object putToCache(java.lang.Object methodKey, java.lang.Object objType, java.lang.Object[] methodArgs, java.lang.Object methodObj)
          Add a new entry into the method cache.
 
Methods inherited from class org.apache.xalan.extensions.ExtensionHandler
callFunction, callFunction, getClassForName, isElementAvailable, isFunctionAvailable, processElement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_className

protected java.lang.String m_className
Extension class name


m_cachedMethods

private java.util.Hashtable m_cachedMethods
Table of cached methods

Constructor Detail

ExtensionHandlerJava

protected ExtensionHandlerJava(java.lang.String namespaceUri,
                               java.lang.String scriptLang,
                               java.lang.String className)
Construct a new extension handler given all the information needed.

Parameters:
namespaceUri - the extension namespace URI that I'm implementing
funcNames - string containing list of functions of extension NS
lang - language of code implementing the extension
srcURL - value of src attribute (if any) - treated as a URL or a classname depending on the value of lang. If srcURL is not null, then scriptSrc is ignored.
scriptSrc - the actual script code (if any)
scriptLang - the scripting language
className - the extension class name
Method Detail

getFromCache

public java.lang.Object getFromCache(java.lang.Object methodKey,
                                     java.lang.Object objType,
                                     java.lang.Object[] methodArgs)
Look up the entry in the method cache.

Parameters:
methodKey - A key that uniquely identifies this invocation in the stylesheet.
objType - A Class object or instance object representing the type
methodArgs - An array of the XObject arguments to be used for function mangling.
Returns:
The given method from the method cache

putToCache

public java.lang.Object putToCache(java.lang.Object methodKey,
                                   java.lang.Object objType,
                                   java.lang.Object[] methodArgs,
                                   java.lang.Object methodObj)
Add a new entry into the method cache.

Parameters:
methodKey - A key that uniquely identifies this invocation in the stylesheet.
objType - A Class object or instance object representing the type
methodArgs - An array of the XObject arguments to be used for function mangling.
methodObj - A Class object or instance object representing the method
Returns:
The cached method object