org.apache.xpath.jaxp

## Class XPathExpressionImpl

- java.lang.Object
- - org.apache.xpath.jaxp.XPathExpressionImpl

All Implemented Interfaces:
  XPathExpression

    public class XPathExpressionImpl
    extends java.lang.Object
    implements XPathExpression

The XPathExpression interface encapsulates a (compiled) XPath expression.

Version:
  $Revision: 1225277 $
Author:
  Ramesh Mandava

### Method Summary

Methods
`java.lang.Object` `eval(java.lang.Object item, QName returnType)`
`java.lang.String` `evaluate(InputSource source)` Evaluate the compiled XPath expression in the context of the specified `InputSource` and return the result as a `String`.
`java.lang.Object` `evaluate(InputSource source, QName returnType)` Evaluate the compiled XPath expression in the context of the specified `InputSource` and return the result as the specified type.
`java.lang.String` `evaluate(java.lang.Object item)` Evaluate the compiled XPath expression in the specified context and return the result as a `String`.
`java.lang.Object` `evaluate(java.lang.Object item, QName returnType)` Evaluate the compiled XPath expression in the specified context and return the result as the specified type.
`void` `setXPath(XPath xpath)`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### setXPath

    public void setXPath(XPath xpath)

#### eval

    public java.lang.Object eval(java.lang.Object item,
                        QName returnType)
                          throws TransformerException

Throws:
  `TransformerException`

#### evaluate

    public java.lang.Object evaluate(java.lang.Object item,
                            QName returnType)
                              throws XPathExpressionException

Evaluate the compiled 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`, then an `IllegalArgumentException` is thrown.

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

Specified by:
  `evaluate` in interface `XPathExpression`
Parameters:
  `item` - The starting context (node or node list, for example).
  `returnType` - The desired return type.
Returns:
  The `Object` that is the result of evaluating the expression and converting the result to `returnType`.
Throws:
  `XPathExpressionException` - If the expression cannot be evaluated.
  `java.lang.IllegalArgumentException` - If `returnType` is not one of the types defined in `XPathConstants`.
  `java.lang.NullPointerException` - If `returnType` is `null`.

#### evaluate

    public java.lang.String evaluate(java.lang.Object item)
                              throws XPathExpressionException

Evaluate the compiled XPath expression in the specified context and return the result as a `String`.

This method calls `evaluate(Object item, 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 a `null` value is provided for `item`, an empty document will be used for the context.

Specified by:
  `evaluate` in interface `XPathExpression`
Parameters:
  `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 the expression cannot be evaluated.

#### evaluate

    public java.lang.Object evaluate(InputSource source,
                            QName returnType)
                              throws XPathExpressionException

Evaluate the compiled 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(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 `source` or `returnType` is `null`, then a `NullPointerException` is thrown.

Specified by:
  `evaluate` in interface `XPathExpression`
Parameters:
  `source` - The `InputSource` of the document to evaluate over.
  `returnType` - The desired return type.
Returns:
  The `Object` that is the result of evaluating the expression and converting the result to `returnType`.
Throws:
  `XPathExpressionException` - If the expression cannot be evaluated.
  `java.lang.IllegalArgumentException` - If `returnType` is not one of the types defined in `XPathConstants`.
  `java.lang.NullPointerException` - If `source` or `returnType` is `null`.

#### evaluate

    public java.lang.String evaluate(InputSource source)
                              throws XPathExpressionException

Evaluate the compiled XPath expression in the context of the specified `InputSource` and return the result as a `String`.

This method calls `evaluate(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 `source` is `null`, then a `NullPointerException` is thrown.

Specified by:
  `evaluate` in interface `XPathExpression`
Parameters:
  `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 the expression cannot be evaluated.
  `java.lang.NullPointerException` - If `source` is `null`.