public interface XPathExpression
XPathExpression provides access to compiled XPath expressions.
 
 | Evaluation of XPath Expressions. | |
|---|---|
| context | If a request is made to evaluate the expression in the absence of a context item, an empty document node will be used for the context. For the purposes of evaluating XPath expressions, a DocumentFragment is treated like a Document node. | 
| variables | If the expression contains a variable reference, its value will be found through the XPathVariableResolver.
        AnXPathExpressionExceptionis raised if the variable resolver is undefined or
        the resolver returnsnullfor the variable.
        The value of a variable must be immutable through the course of any single evaluation. | 
| functions | If the expression contains a function reference, the function will be found through the XPathFunctionResolver.
        AnXPathExpressionExceptionis raised if the function resolver is undefined or
        the function resolver returnsnullfor the function. | 
| QNames | QNames in the expression are resolved against the XPath namespace context. | 
| result | This result of evaluating an expression is converted to an instance of the desired return type.
        Valid return types are defined in XPathConstants.
        Conversion to the return type follows XPath conversion rules. | 
An XPath expression is not thread-safe and not reentrant.
 In other words, it is the application's responsibility to make
 sure that one XPathExpression object is not used from
 more than one thread at any given time, and while the evaluate
 method is invoked, applications may not recursively call
 the evaluate method.
| Modifier and Type | Method and Description | 
|---|---|
| String | evaluate(InputSource source)Evaluate the compiled XPath expression in the context
 of the specified  InputSourceand return the result as aString. | 
| Object | evaluate(InputSource source,
        QName returnType)Evaluate the compiled XPath expression in the context
 of the specified  InputSourceand return the result as the
 specified type. | 
| String | evaluate(Object item)Evaluate the compiled XPath expression in the specified context and return the result as a  String. | 
| Object | evaluate(Object item,
        QName returnType)Evaluate the compiled XPath expression in the specified context and return the result as the specified type. | 
| default XPathEvaluationResult<?> | evaluateExpression(InputSource source)Evaluate the compiled XPath expression in the specified context. | 
| default <T> T | evaluateExpression(InputSource source,
                  Class<T> type)Evaluate the compiled XPath expression in the specified context,
 and return the result with the type specified through the  class type | 
| default XPathEvaluationResult<?> | evaluateExpression(Object item)Evaluate the compiled XPath expression in the specified context. | 
| default <T> T | evaluateExpression(Object item,
                  Class<T> type)Evaluate the compiled XPath expression in the specified context, and return
 the result with the type specified through the  class type. | 
Object evaluate(Object item, QName returnType) throws XPathExpressionException
See Evaluation of XPath Expressions for context item evaluation, variable, function and QName resolution and return type conversion.
 The parameter item represents the context the XPath expression
 will be operated on. The type of the context is implementation-dependent.
 If the value is null, the operation must have no dependency on
 the context, otherwise an XPathExpressionException will be thrown.
Node.item - The context the XPath expression will be evaluated in.returnType - The result type expected to be returned by the XPath expression.Object that is the result of evaluating the expression and converting the result to
   returnType.XPathExpressionException - If the expression cannot be evaluated.IllegalArgumentException - If returnType is not one of the types defined in XPathConstants.NullPointerException - If returnType is null.String evaluate(Object item) throws XPathExpressionException
String.
 This method calls evaluate(Object item, QName returnType) with a returnType of
 XPathConstants.STRING.
 
See Evaluation of XPath Expressions for context item evaluation, variable, function and QName resolution and return type conversion.
 The parameter item represents the context the XPath expression
 will be operated on. The type of the context is implementation-dependent.
 If the value is null, the operation must have no dependency on
 the context, otherwise an XPathExpressionException will be thrown.
Node.item - The context the XPath expression will be evaluated in.String.XPathExpressionException - If the expression cannot be evaluated.Object evaluate(InputSource source, QName returnType) throws XPathExpressionException
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 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.
source - The InputSource of the document to evaluate over.returnType - The desired return type.Object that is the result of evaluating the expression and converting the result to
   returnType.XPathExpressionException - If the expression cannot be evaluated.IllegalArgumentException - If returnType is not one of the types defined in XPathConstants.NullPointerException - If source or returnType is null.String evaluate(InputSource source) throws XPathExpressionException
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 for context item evaluation, variable, function and QName resolution and return type conversion.
If source is null, then a NullPointerException is thrown.
source - The InputSource of the document to evaluate over.String that is the result of evaluating the expression and converting the result to a
   String.XPathExpressionException - If the expression cannot be evaluated.NullPointerException - If source is null.default <T> T evaluateExpression(Object item, Class<T> type) throws XPathExpressionException
class type.
 
 The parameter item represents the context the XPath expression
 will be operated on. The type of the context is implementation-dependent.
 If the value is null, the operation must have no dependency on
 the context, otherwise an XPathExpressionException will be thrown.
 
     (T)evaluate(item, XPathEvaluationResult.XPathResultType.getQNameType(type));
 
 Since the evaluate method does not support the
 ANY type, specifying
 XPathEvaluationResult as the type will result in IllegalArgumentException.
 Any implementation supporting the
 ANY type must override
 this method.Node.T - The class type that will be returned by the XPath expression.item - The context the XPath expression will be evaluated in.type - The class type expected to be returned by the XPath expression.XPathExpressionException - If the expression cannot be evaluated.IllegalArgumentException - If type is not of the types
 corresponding to the types defined in the XPathResultType, or XPathEvaluationResult is specified as the type but an
 implementation supporting the
 ANY type is not available.NullPointerException - If type is null.default XPathEvaluationResult<?> evaluateExpression(Object item) throws XPathExpressionException
evaluateExpression(Object item, Class type)
 with type XPathEvaluationResult:
  
     evaluateExpression(item, XPathEvaluationResult.class);
 
 
 The parameter item represents the context the XPath expression
 will be operated on. The type of the context is implementation-dependent.
 If the value is null, the operation must have no dependency on
 the context, otherwise an XPathExpressionException will be thrown.
 
     evaluateExpression(item, XPathEvaluationResult.class);
 
 Since the evaluate method does not support the
 ANY
 type, the default implementation of this method will always throw an
 IllegalArgumentException. Any implementation supporting the
 ANY type must therefore
 override this method.Node.item - The context the XPath expression will be evaluated in.XPathExpressionException - If the expression cannot be evaluated.IllegalArgumentException - If the implementation of this method
 does not support the
 ANY type.default <T> T evaluateExpression(InputSource source, Class<T> type) throws XPathExpressionException
class type
 
 This method builds a data model for the InputSource and calls
 evaluateExpression(Object item, Class type) on the resulting
 document object.
 
 By default, the JDK's data model is Document.
 
           (T)evaluate(source, XPathEvaluationResult.XPathResultType.getQNameType(type));
 
 Since the evaluate method does not support the
 ANY type, specifying
 XPathEvaluationResult as the type will result in IllegalArgumentException.
 Any implementation supporting the
 ANY type must override
 this method.T - The class type that will be returned by the XPath expression.source - The InputSource of the document to evaluate over.type - The class type expected to be returned by the XPath expression.XPathExpressionException - If the expression cannot be evaluated.IllegalArgumentException - If type is not of the types
 corresponding to the types defined in the XPathResultType, or XPathEvaluationResult is specified as the type but an
 implementation supporting the
 ANY type
 is not available.NullPointerException - If source or type is null.default XPathEvaluationResult<?> evaluateExpression(InputSource source) throws XPathExpressionException
evaluateExpression(InputSource source, Class type)
 with type XPathEvaluationResult:
  
     evaluateExpression(source, XPathEvaluationResult.class);
  
     (XPathEvaluationResult)evaluateExpression(source, XPathEvaluationResult.class);
 
 Since the evaluate method does not support the
 ANY
 type, the default implementation of this method will always throw an
 IllegalArgumentException. Any implementation supporting the
 ANY type must therefore
 override this method.source - The InputSource of the document to evaluate over.XPathExpressionException - If the expression cannot be evaluated.IllegalArgumentException - If the implementation of this method
 does not support the
 ANY type.NullPointerException - If source is null. Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved. 
DRAFT 9-internal+0-2016-01-26-133437.ivan.openjdk9onspinwait