Overview | Package | Class | Use | Tree | Deprecated | Index | Help
|  | BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weblogic.apache.xalan.extensions
Class ExtensionHandler

    java.lang.Object
      |
      +--weblogic.apache.xalan.extensions.ExtensionHandler

Direct Known Subclasses:
  ExtensionHandlerGeneral, ExtensionHandlerJava

public abstract class ExtensionHandler
extends java.lang.Object

Abstract base class for handling an extension namespace for XPath. Provides functions to test a function's existence and call a function. Also provides functions for calling an element and testing for an element's existence.

This class is based on an implementation from the Apache XML Project. In future releases the XML parser, XSLT processor, and associated classes will likely be updated to be based on a later version of the Apache implementations. Since Apache does not guarantee backwards compatibility between versions of their software, we cannot guarantee backwards compatibility of any of the classes contained in the weblogic.apache package or sub-packages.

Author:
  Sanjiva Weerawarana (sanjiva@watson.ibm.com)

Field Summary
`protected java.lang.String` | `m_namespaceUri` uri of the extension namespace
`protected java.lang.String` | `m_scriptLang` scripting language of implementation

Constructor Summary
`protected` | `ExtensionHandler(java.lang.String namespaceUri, java.lang.String scriptLang)` Construct a new extension namespace handler given all the information needed.

Method Summary
`abstract java.lang.Object` | `callFunction(java.lang.String funcName, java.util.Vector args, java.lang.Object methodKey, ExpressionContext exprContext)` Process a call to a function.
`static java.lang.Class` | `getClassForName(java.lang.String className)` Replacement for Class.forName.
`abstract boolean` | `isElementAvailable(java.lang.String element)` Tests whether a certain element name is known within this namespace.
`abstract boolean` | `isFunctionAvailable(java.lang.String function)` Tests whether a certain function name is known within this namespace.
`abstract 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
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### m_namespaceUri

    protected java.lang.String m_namespaceUri

  uri of the extension namespace

### m_scriptLang

    protected java.lang.String m_scriptLang

  scripting language of implementation

Constructor Detail

### ExtensionHandler

    protected ExtensionHandler(java.lang.String namespaceUri,
                               java.lang.String scriptLang)

  Construct a new extension namespace handler given all the information needed.

  Parameters:
    `namespaceUri` - the extension namespace URI that I'm implementing
    `scriptLang` - language of code implementing the extension

Method Detail

### getClassForName

    public static java.lang.Class getClassForName(java.lang.String className)
                                           throws java.lang.ClassNotFoundException

  Replacement for Class.forName. This method loads a class using the context class loader if we're running under Java2 or higher. If we're running under Java1, this method just uses Class.forName to load the class.

  Parameters:
    `className` - Name of the class to load

### isFunctionAvailable

    public abstract boolean isFunctionAvailable(java.lang.String function)

  Tests whether a certain function name is known within this namespace.

  Parameters:
    `function` - name of the function being tested
  Returns:
    true if its known, false if not.

### isElementAvailable

    public abstract boolean isElementAvailable(java.lang.String element)

  Tests whether a certain element name is known within this namespace.

  Parameters:
    `function` - name of the function being tested
    `element` - Name of element to check
  Returns:
    true if its known, false if not.

### callFunction

    public abstract 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.

  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

### processElement

    public abstract 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.

  Parameters:
    `localPart` - Element name's local part.
    `element` - The extension element being processed.
    `transformer` - Handle to TransformerImpl.
    `stylesheetTree` - The compiled stylesheet tree.
    `mode` - The current mode.
    `sourceTree` - The root of the source tree (but don't assume it's a Document).
    `sourceNode` - The current context node.
    `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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at http://e-docs.bea.com/wls/docs70
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 BEA Systems, Inc. All Rights Reserved.
WebLogic Server 7.0 API Reference