org.jaxen
Class SimpleFunctionContext

java.lang.Object
  extended by org.jaxen.SimpleFunctionContext
All Implemented Interfaces:
FunctionContext
Direct Known Subclasses:
XPathFunctionContext

public class SimpleFunctionContext
extends Object
implements FunctionContext

Simple default implementation of FunctionContext.

This is a simple table-based key-lookup implementation for FunctionContext which can be programmatically extended by registering additional functions.

Author:
bob mcwhirter
See Also:
XPathFunctionContext

Constructor Summary
SimpleFunctionContext()
           Construct an empty function context.
 
Method Summary
 Function getFunction(String namespaceURI, String prefix, String localName)
          An implementation should return a Function implementation object based on the namespace URI and local name of the function-call expression.
 void registerFunction(String namespaceURI, String localName, Function function)
          Register a new function.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleFunctionContext

public SimpleFunctionContext()

Construct an empty function context.

Method Detail

registerFunction

public void registerFunction(String namespaceURI,
                             String localName,
                             Function function)
Register a new function.

By registering a new function, any XPath expression that utilizes this FunctionContext may refer to and use the new function.

Functions may exist either in a namespace or not. Namespace prefix-to-URI resolution is the responsibility of a NamespaceContext. Within this FunctionContext functions are only referenced using the URI, not the prefix.

The namespace URI of a function may be null to indicate that it exists without a namespace.

Parameters:
namespaceURI - the namespace URI of the function to be registered with this context
localName - the non-prefixed local portion of the function to be registered with this context
function - a Function implementation object to be used when evaluating the function

getFunction

public Function getFunction(String namespaceURI,
                            String prefix,
                            String localName)
                     throws UnresolvableException
Description copied from interface: FunctionContext
An implementation should return a Function implementation object based on the namespace URI and local name of the function-call expression.

It must not use the prefix parameter to select an implementation, because a prefix could be bound to any namespace; the prefix parameter could be used in debugging output or other generated information. The prefix may otherwise be completely ignored.

Specified by:
getFunction in interface FunctionContext
Parameters:
namespaceURI - the namespace URI to which the prefix parameter is bound in the XPath expression. If the function call expression had no prefix, the namespace URI is null.
prefix - the prefix that was used in the function call expression
localName - the local name of the function-call expression. If there is no prefix, then this is the whole name of the function.
Returns:
a Function implementation object.
Throws:
UnresolvableException - when the function cannot be resolved


Copyright © 2001-2008 Codehaus. All Rights Reserved.