org.apache.xpath.jaxp
Class XPathImpl

java.lang.Object
  |
  +--org.apache.xpath.jaxp.XPathImpl

public class XPathImpl
extends java.lang.Object
implements 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.


Method Summary
 XPathExpression compile(java.lang.String expression)
          Compile an XPath expression for later evaluation.
 java.lang.String evaluate(java.lang.String expression, InputSource source)
          Evaluate an XPath expression in the context of the specified InputSource and return the result as a String.
 java.lang.Object evaluate(java.lang.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.
 java.lang.String evaluate(java.lang.String expression, java.lang.Object item)
          Evaluate an XPath expression in the specified context and return the result as a String.
 java.lang.Object evaluate(java.lang.String expression, java.lang.Object item, QName returnType)
          Evaluate an XPath expression in the specified context and return the result as the specified type.
 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.
 void setNamespaceContext(NamespaceContext nsContext)
          Establishes a namespace context.
 void setXPathFunctionResolver(XPathFunctionResolver resolver)
          Establishes a function resolver.
 void setXPathVariableResolver(XPathVariableResolver resolver)
          Establishes a variable resolver.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

setXPathVariableResolver

public void setXPathVariableResolver(XPathVariableResolver resolver)

Establishes a variable resolver.

Specified by:
setXPathVariableResolver in interface XPath
Parameters:
resolver - Variable Resolver

getXPathVariableResolver

public XPathVariableResolver getXPathVariableResolver()

Returns the current variable resolver.

Specified by:
getXPathVariableResolver in interface XPath
Returns:
Current variable resolver

setXPathFunctionResolver

public void setXPathFunctionResolver(XPathFunctionResolver resolver)

Establishes a function resolver.

Specified by:
setXPathFunctionResolver in interface XPath
Parameters:
resolver - XPath function resolver

getXPathFunctionResolver

public XPathFunctionResolver getXPathFunctionResolver()

Returns the current function resolver.

Specified by:
getXPathFunctionResolver in interface XPath
Returns:
Current function resolver

setNamespaceContext

public void setNamespaceContext(NamespaceContext nsContext)

Establishes a namespace context.

Specified by:
setNamespaceContext in interface XPath
Parameters:
nsContext - Namespace context to use

getNamespaceContext

public NamespaceContext getNamespaceContext()

Returns the current namespace context.

Specified by:
getNamespaceContext in interface XPath
Returns:
Current Namespace context

evaluate

public java.lang.Object evaluate(java.lang.String expression,
                                 java.lang.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.

Specified by:
evaluate in interface XPath
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.
Throws:
XPathExpressionException - If expression cannot be evaluated.
java.lang.IllegalArgumentException - If returnType is not one of the types defined in XPathConstants.
java.lang.NullPointerException - If expression or returnType is null.

evaluate

public java.lang.String evaluate(java.lang.String expression,
                                 java.lang.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.

Specified by:
evaluate in interface XPath
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.
Throws:
XPathExpressionException - If expression cannot be evaluated.
java.lang.NullPointerException - If expression is null.

compile

public XPathExpression compile(java.lang.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.

Specified by:
compile in interface XPath
Parameters:
expression - The XPath expression.
Returns:
Compiled XPath expression.
Throws:
XPathExpressionException - If expression cannot be compiled.
java.lang.NullPointerException - If expression is null.

evaluate

public java.lang.Object evaluate(java.lang.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.

Specified by:
evaluate in interface XPath
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.
Throws:
XPathExpressionException - If expression cannot be evaluated.
java.lang.IllegalArgumentException - If returnType is not one of the types defined in XPathConstants.
java.lang.NullPointerException - If expression, source or returnType is null.

evaluate

public java.lang.String evaluate(java.lang.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.

Specified by:
evaluate in interface XPath
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.
Throws:
XPathExpressionException - If expression cannot be evaluated.
java.lang.NullPointerException - If expression or source is null.

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.

Specified by:
reset in interface XPath


Copyright 2006 Apache XML Project. All Rights Reserved.