org.apache.xpath.jaxp

Class XPathImpl

Implemented Interfaces:
javax.xml.xpath.XPath

public class XPathImpl
extends java.lang.Object
implements javax.xml.xpath.XPath

The XPathImpl class provides implementation for the methods defined in javax.xml.xpath.XPath interface. This provide simple access to the results of an XPath expression.
Version:
$Revision$
Author:
Ramesh Mandava

Method Summary

XPathExpression
compile(String expression)
Compile an XPath expression for later evaluation.

If expression contains any XPathFunctions, they must be available via the XPathFunctionResolver.

String
evaluate(String expression, InputSource source)
Evaluate an XPath expression in the context of the specified InputSource and return the result as a String.

This method calls evaluate(String expression, InputSource source, QName returnType) with a returnType of XPathConstants.STRING.

See "Evaluation of XPath Expressions" section of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

If expression or source is null, then a NullPointerException is thrown.

Object
evaluate(String expression, InputSource source, QName returnType)
Evaluate an XPath expression in the context of the specified InputSource and return the result as the specified type.

This method builds a data model for the InputSource and calls evaluate(String expression, Object item, QName returnType) on the resulting document object.

See "Evaluation of XPath Expressions" section of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

If returnType is not one of the types defined in XPathConstants, then an IllegalArgumentException is thrown.

If expression, source or returnType is null, then a NullPointerException is thrown.

String
evaluate(String expression, Object item)
Evaluate an XPath expression in the specified context and return the result as a String.

This method calls evaluate(String expression, Object item, QName returnType) with a returnType of XPathConstants.STRING.

See "Evaluation of XPath Expressions" of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

If a null value is provided for item, an empty document will be used for the context.

Object
evaluate(String expression, Object item, QName returnType)
Evaluate an XPath expression in the specified context and return the result as the specified type.

See "Evaluation of XPath Expressions" section of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

If returnType is not one of the types defined in XPathConstants ( NUMBER, STRING, BOOLEAN, NODE or NODESET) then an IllegalArgumentException is thrown.

If a null value is provided for item, an empty document will be used for the context.

NamespaceContext
getNamespaceContext()
Returns the current namespace context.
XPathFunctionResolver
getXPathFunctionResolver()
Returns the current function resolver.
XPathVariableResolver
getXPathVariableResolver()
Returns the current variable resolver.
void
reset()
Reset this XPath to its original configuration.

XPath is reset to the same state as when it was created with XPathFactory.newXPath().

void
setNamespaceContext(NamespaceContext nsContext)
Establishes a namespace context.
void
setXPathFunctionResolver(XPathFunctionResolver resolver)
Establishes a function resolver.
void
setXPathVariableResolver(XPathVariableResolver resolver)
Establishes a variable resolver.

Method Details

compile

public XPathExpression compile(String expression)
            throws XPathExpressionException
Compile an XPath expression for later evaluation.

If expression contains any XPathFunctions, they must be available via the XPathFunctionResolver. An XPathExpressionException will be thrown if the XPathFunction cannot be resovled with the XPathFunctionResolver.

If expression is null, a NullPointerException is thrown.

Parameters:
expression - The XPath expression.
Returns:
Compiled XPath expression.

evaluate

public String evaluate(String expression,
                       InputSource source)
            throws XPathExpressionException
Evaluate an XPath expression in the context of the specified InputSource and return the result as a String.

This method calls evaluate(String expression, InputSource source, QName returnType) with a returnType of XPathConstants.STRING.

See "Evaluation of XPath Expressions" section of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

If expression or source is null, then a NullPointerException is thrown.

Parameters:
expression - The XPath expression.
source - The InputSource of the document to evaluate over.
Returns:
The String that is the result of evaluating the expression and converting the result to a String.

evaluate

public Object evaluate(String expression,
                       InputSource source,
                       QName returnType)
            throws XPathExpressionException
Evaluate an XPath expression in the context of the specified InputSource and return the result as the specified type.

This method builds a data model for the InputSource and calls evaluate(String expression, Object item, QName returnType) on the resulting document object.

See "Evaluation of XPath Expressions" section of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

If returnType is not one of the types defined in XPathConstants, then an IllegalArgumentException is thrown.

If expression, source or returnType is null, then a NullPointerException is thrown.

Parameters:
expression - The XPath expression.
source - The input source of the document to evaluate over.
returnType - The desired return type.
Returns:
The Object that encapsulates the result of evaluating the expression.

evaluate

public String evaluate(String expression,
                       Object item)
            throws XPathExpressionException
Evaluate an XPath expression in the specified context and return the result as a String.

This method calls evaluate(String expression, Object item, QName returnType) with a returnType of XPathConstants.STRING.

See "Evaluation of XPath Expressions" of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

If a null value is provided for item, an empty document will be used for the context. If expression is null, then a NullPointerException is thrown.

Parameters:
expression - The XPath expression.
item - The starting context (node or node list, for example).
Returns:
The String that is the result of evaluating the expression and converting the result to a String.

evaluate

public Object evaluate(String expression,
                       Object item,
                       QName returnType)
            throws XPathExpressionException
Evaluate an XPath expression in the specified context and return the result as the specified type.

See "Evaluation of XPath Expressions" section of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

If returnType is not one of the types defined in XPathConstants ( NUMBER, STRING, BOOLEAN, NODE or NODESET) then an IllegalArgumentException is thrown.

If a null value is provided for item, an empty document will be used for the context. If expression or returnType is null, then a NullPointerException is thrown.

Parameters:
expression - The XPath expression.
item - The starting context (node or node list, for example).
returnType - The desired return type.
Returns:
Result of evaluating an XPath expression as an Object of returnType.

getNamespaceContext

public NamespaceContext getNamespaceContext()
Returns the current namespace context.
Returns:
Current Namespace context

getXPathFunctionResolver

public XPathFunctionResolver getXPathFunctionResolver()
Returns the current function resolver.
Returns:
Current function resolver

getXPathVariableResolver

public XPathVariableResolver getXPathVariableResolver()
Returns the current variable resolver.
Returns:
Current variable resolver

reset

public void reset()
Reset this XPath to its original configuration.

XPath is reset to the same state as when it was created with XPathFactory.newXPath(). reset() is designed to allow the reuse of existing XPaths thus saving resources associated with the creation of new XPaths.

The reset XPath is not guaranteed to have the same XPathFunctionResolver, XPathVariableResolver or NamespaceContext Objects, e.g. Object.equals(Object obj). It is guaranteed to have a functionally equal XPathFunctionResolver, XPathVariableResolver and NamespaceContext.


setNamespaceContext

public void setNamespaceContext(NamespaceContext nsContext)
Establishes a namespace context.
Parameters:
nsContext - Namespace context to use

setXPathFunctionResolver

public void setXPathFunctionResolver(XPathFunctionResolver resolver)
Establishes a function resolver.
Parameters:
resolver - XPath function resolver

setXPathVariableResolver

public void setXPathVariableResolver(XPathVariableResolver resolver)
Establishes a variable resolver.
Parameters:
resolver - Variable Resolver

Copyright B) 2006 Apache XML Project. All Rights Reserved.