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 Server 6.0sp2 API Reference

## weblogic.apache.xalan.xpath
Class ExtensionFunctionHandler

    java.lang.Object
      |
      +--weblogic.apache.xalan.xpath.ExtensionFunctionHandler

Direct Known Subclasses:
  ExtensionNSHandler

public class ExtensionFunctionHandler
extends java.lang.Object

Class handling an extension namespace for XPath. Provides functions to test a function's existence and call a function

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)
  Copyright © 2001 BEA Systems, Inc. All Rights Reserved.

Inner Class Summary
`static interface` | `ExtensionFunctionHandler.ExtensionLiaison` Interface for connecting extension functions to xalan.

Field Summary
`protected boolean` | `componentStarted`
`static java.lang.String` | `DEFAULT_EXTENSION_LIAISON`
`protected java.util.Hashtable` | `elements`
`protected ExtensionFunctionHandler.ExtensionLiaison` | `extensionLiaison` Patch from Costin Manolache Remove BSF Specific code, create new Interface ExtensionLiaison and move BSF Specific code to XSLTJavaClassEngine
`protected java.util.Hashtable` | `functions`
`java.lang.String` | `namespaceUri`
`java.lang.String` | `scriptLang`
`java.lang.String` | `scriptSrc`
`java.lang.String` | `scriptSrcURL`

Constructor Summary
`ExtensionFunctionHandler(java.lang.String namespaceUri)` Construct a new extension namespace handler for a given extension NS.
`ExtensionFunctionHandler(java.lang.String namespaceUri, java.lang.String funcNames, java.lang.String lang, java.lang.String srcURL, java.lang.String src)` Construct a new extension namespace handler given all the information needed.

Method Summary
`java.lang.Object` | `callFunction(java.lang.String funcName, java.util.Vector args, java.lang.Object methodKey, java.lang.Class javaClass)` Process a call to a function.
`java.lang.Object` | `callJava(java.lang.Object object, java.lang.String method, java.lang.Object[] args, java.lang.Object methodKey)` call the named method on the object that was loaded by eval.
`boolean` | `isElementAvailable(java.lang.String element)` Tests whether a certain element name is known within this namespace.
`boolean` | `isFunctionAvailable(java.lang.String function)` Tests whether a certain function name is known within this namespace.
`void` | `setElements(java.lang.String elemNames)` Set element local parts of extension NS.
`void` | `setFunctions(java.lang.String funcNames)` Set function local parts of extension NS.
`void` | `setScript(java.lang.String lang, java.lang.String srcURL, java.lang.String scriptSrc)` Set the script data for this extension NS.
`protected void` | `startupComponent(java.lang.Class classObj)` Start the component up by executing any script that needs to run at startup time.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### extensionLiaison

    protected ExtensionFunctionHandler.ExtensionLiaison extensionLiaison

  Patch from Costin Manolache Remove BSF Specific code, create new Interface ExtensionLiaison and move BSF Specific code to XSLTJavaClassEngine

### namespaceUri

    public java.lang.String namespaceUri

### scriptLang

    public java.lang.String scriptLang

### scriptSrc

    public java.lang.String scriptSrc

### scriptSrcURL

    public java.lang.String scriptSrcURL

### functions

    protected java.util.Hashtable functions

### elements

    protected java.util.Hashtable elements

### componentStarted

    protected boolean componentStarted

### DEFAULT_EXTENSION_LIAISON

    public static final java.lang.String DEFAULT_EXTENSION_LIAISON

Constructor Detail

### ExtensionFunctionHandler

    public ExtensionFunctionHandler(java.lang.String namespaceUri)

  Construct a new extension namespace handler for a given extension NS. This doesn't do anything - just hang on to the namespace URI.

  Parameters:
    `namespaceUri` - the extension namespace URI that I'm implementing

### ExtensionFunctionHandler

    public ExtensionFunctionHandler(java.lang.String namespaceUri,
                                    java.lang.String funcNames,
                                    java.lang.String lang,
                                    java.lang.String srcURL,
                                    java.lang.String src)

  Construct a new extension namespace 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)

Method Detail

### setFunctions

    public void setFunctions(java.lang.String funcNames)

  Set function local parts of extension NS.

  Parameters:
    `functions` - whitespace separated list of function names defined by this extension namespace.

### setElements

    public void setElements(java.lang.String elemNames)

  Set element local parts of extension NS.

  Parameters:
    `elements` - whitespace separated list of element names defined by this extension namespace.

### setScript

    public void setScript(java.lang.String lang,
                          java.lang.String srcURL,
                          java.lang.String scriptSrc)

  Set the script data for this extension NS. If srcURL is !null then the script body is read from that URL. If not the scriptSrc is used as the src. This method does not actually execute anything - that's done when the component is first hit by the user by an element or a function call.

  Parameters:
    `lang` - language of the script.
    `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)

### isFunctionAvailable

    public 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 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
  Returns:
    true if its known, false if not.

### callJava

    public java.lang.Object callJava(java.lang.Object object,
                                     java.lang.String method,
                                     java.lang.Object[] args,
                                     java.lang.Object methodKey)
                              throws XPathException

  call the named method on the object that was loaded by eval. The method selection stuff is very XSLT-specific, hence the custom engine.

  Parameters:
    `object` - ignored - should always be null

### callFunction

    public java.lang.Object callFunction(java.lang.String funcName,
                                         java.util.Vector args,
                                         java.lang.Object methodKey,
                                         java.lang.Class javaClass)
                                  throws XPathException

  Process a call to a function.

  Parameters:
    `funcName` - Function name.
    `args` - The arguments of the function call.
  Returns:
    the return value of the function evaluation.
  Throws:
    XSLProcessorException - thrown if something goes wrong while running the extension handler.
    java.net.MalformedURLException - if loading trouble
    java.io.FileNotFoundException - if loading trouble
    java.io.IOException - if loading trouble
    org.xml.sax.SAXException - if parsing trouble

### startupComponent

    protected void startupComponent(java.lang.Class classObj)
                             throws XPathProcessorException

  Start the component up by executing any script that needs to run at startup time. This needs to happen before any functions can be called on the component.

  Throws:
    XPathProcessorException - if something bad happens.

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