Spring Web Services Framework

org.springframework.xml.xpath
Interface XPathOperations

All Known Implementing Classes:
AbstractXPathTemplate, JaxenXPathTemplate, Jaxp13XPathTemplate

public interface XPathOperations

Interface that specifies a basic set of XPath operations, implemented by various XPathTemplates. Contains numerous evaluation methods,

The templates that implement this interface do not use precompiled XPath expressions. Consider using the XPathExpressionFactory or the XPathExpressionFactoryBean for optimal performance, but less flexibility.

Since:
1.0.0
Author:
Arjen Poutsma
See Also:
Jaxp13XPathTemplate, JaxenXPathTemplate

Method Summary
 void evaluate(String expression, Source context, NodeCallbackHandler callbackHandler)
          Evaluates the given expression, handling the result Node objects on a per-node basis with a NodeCallbackHandler.
<T> List<T>
evaluate(String expression, Source context, NodeMapper<T> nodeMapper)
          Evaluates the given expression, mapping each result Node objects to a Java object via a NodeMapper.
 boolean evaluateAsBoolean(String expression, Source context)
          Evaluates the given expression as a boolean.
 double evaluateAsDouble(String expression, Source context)
          Evaluates the given expression as a double.
 Node evaluateAsNode(String expression, Source context)
          Evaluates the given expression as a Node.
 List<Node> evaluateAsNodeList(String expression, Source context)
          Evaluates the given expression as a list of Node objects.
<T> T
evaluateAsObject(String expression, Source context, NodeMapper<T> nodeMapper)
          Evaluates the given expression, mapping a single Node result to a Java object via a NodeMapper.
 String evaluateAsString(String expression, Source context)
          Evaluates the given expression as a String.
 

Method Detail

evaluateAsBoolean

boolean evaluateAsBoolean(String expression,
                          Source context)
                          throws XPathException
Evaluates the given expression as a boolean. Returns the boolean evaluation of the expression, or false if it is invalid.

The return value is determined per the boolean() function defined in the XPath specification. This means that an expression that selects zero nodes will return false, while an expression that selects one or more nodes will return true. An expression that returns a string returns false for empty strings and true for all other strings. An expression that returns a number returns false for zero and true for non-zero numbers.

Parameters:
expression - the XPath expression
context - the context starting point
Returns:
the result of the evaluation
Throws:
XPathException - in case of XPath errors
See Also:
XPath specification - boolean() function

evaluateAsNode

Node evaluateAsNode(String expression,
                    Source context)
                    throws XPathException
Evaluates the given expression as a Node. Returns the evaluation of the expression, or null if it is invalid.

Parameters:
expression - the XPath expression
context - the context starting point
Returns:
the result of the evaluation
Throws:
XPathException - in case of XPath errors
See Also:
XPath specification

evaluateAsNodeList

List<Node> evaluateAsNodeList(String expression,
                              Source context)
                              throws XPathException
Evaluates the given expression as a list of Node objects. Returns the evaluation of the expression, or an empty list if no results are found.

Parameters:
expression - the XPath expression
context - the context starting point
Returns:
the result of the evaluation
Throws:
XPathException - in case of XPath errors
See Also:
XPath specification

evaluateAsDouble

double evaluateAsDouble(String expression,
                        Source context)
                        throws XPathException
Evaluates the given expression as a double. Returns the evaluation of the expression, or Double.NaN if it is invalid.

The return value is determined per the number() function as defined in the XPath specification. This means that if the expression selects multiple nodes, it will return the number value of the first node.

Parameters:
expression - the XPath expression
context - the context starting point
Returns:
the result of the evaluation
Throws:
XPathException - in case of XPath errors
See Also:
XPath specification - number() function

evaluateAsString

String evaluateAsString(String expression,
                        Source context)
                        throws XPathException
Evaluates the given expression as a String. Returns the evaluation of the expression, or null if it is invalid.

The return value is determined per the string() function as defined in the XPath specification. This means that if the expression selects multiple nodes, it will return the string value of the first node.

Parameters:
expression - the XPath expression
context - the context starting point
Returns:
the result of the evaluation
Throws:
XPathException - in case of XPath errors
See Also:
XPath specification - string() function

evaluateAsObject

<T> T evaluateAsObject(String expression,
                       Source context,
                       NodeMapper<T> nodeMapper)
                   throws XPathException
Evaluates the given expression, mapping a single Node result to a Java object via a NodeMapper.

Parameters:
expression - the XPath expression
context - the context starting point
nodeMapper - object that will map one object per node
Returns:
the single mapped object
Throws:
XPathException - in case of XPath errors
See Also:
XPath specification

evaluate

<T> List<T> evaluate(String expression,
                     Source context,
                     NodeMapper<T> nodeMapper)
                 throws XPathException
Evaluates the given expression, mapping each result Node objects to a Java object via a NodeMapper.

Parameters:
expression - the XPath expression
context - the context starting point
nodeMapper - object that will map one object per node
Returns:
the result list, containing mapped objects
Throws:
XPathException - in case of XPath errors
See Also:
XPath specification

evaluate

void evaluate(String expression,
              Source context,
              NodeCallbackHandler callbackHandler)
              throws XPathException
Evaluates the given expression, handling the result Node objects on a per-node basis with a NodeCallbackHandler.

Parameters:
expression - the XPath expression
context - the context starting point
callbackHandler - object that will extract results, one row at a time
Throws:
XPathException - in case of XPath errors
See Also:
XPath specification

Spring Web Services Framework

Copyright © 2005-2013 The Spring Web Services Framework. All Rights Reserved.