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

## org.apache.xalan.extensions
Class ExtensionHandler

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

Direct Known Subclasses:
  ExtensionHandlerExsltFunction, ExtensionHandlerGeneral, ExtensionHandlerJava

public abstract class ExtensionHandler
extends java.lang.Object

**For internal use only** 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.

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
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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 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:
    TransformerException - if parsing trouble

### processElement

    public abstract void processElement(java.lang.String localPart,
                                        ElemTemplateElement element,
                                        TransformerImpl transformer,
                                        Stylesheet stylesheetTree,
                                        java.lang.Object methodKey)
                                 throws 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
    TransformerException - if parsing trouble

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

Copyright © 2002 Apache XML Project. All Rights Reserved.