< prev index next >

src/java.xml/share/classes/javax/xml/xpath/XPathExpression.java

Print this page

        

*** 27,39 **** import javax.xml.namespace.QName; import org.xml.sax.InputSource; /** ! * <p>{@code XPathExpression} provides access to compiled XPath expressions.</p> * ! * <a name="XPathExpression-evaluation"/> * <table border="1" cellpadding="2"> * <thead> * <tr> * <th colspan="2">Evaluation of XPath Expressions.</th> * </tr> --- 27,39 ---- import javax.xml.namespace.QName; import org.xml.sax.InputSource; /** ! * {@code XPathExpression} provides access to compiled XPath expressions. * ! * <a name="XPathExpression-evaluation"></a> * <table border="1" cellpadding="2"> * <thead> * <tr> * <th colspan="2">Evaluation of XPath Expressions.</th> * </tr>
*** 52,70 **** * <td>variables</td> * <td> * If the expression contains a variable reference, its value will be found through the {@link XPathVariableResolver}. * An {@link XPathExpressionException} is raised if the variable resolver is undefined or * the resolver returns {@code null} for the variable. ! * The value of a variable must be immutable through the course of any single evaluation.</p> * </td> * </tr> * <tr> * <td>functions</td> * <td> * If the expression contains a function reference, the function will be found through the {@link XPathFunctionResolver}. * An {@link XPathExpressionException} is raised if the function resolver is undefined or ! * the function resolver returns {@code null} for the function.</p> * </td> * </tr> * <tr> * <td>QNames</td> * <td> --- 52,70 ---- * <td>variables</td> * <td> * If the expression contains a variable reference, its value will be found through the {@link XPathVariableResolver}. * An {@link XPathExpressionException} is raised if the variable resolver is undefined or * the resolver returns {@code null} for the variable. ! * The value of a variable must be immutable through the course of any single evaluation. * </td> * </tr> * <tr> * <td>functions</td> * <td> * If the expression contains a function reference, the function will be found through the {@link XPathFunctionResolver}. * An {@link XPathExpressionException} is raised if the function resolver is undefined or ! * the function resolver returns {@code null} for the function. * </td> * </tr> * <tr> * <td>QNames</td> * <td>
*** 74,109 **** * <tr> * <td>result</td> * <td> * This result of evaluating an expression is converted to an instance of the desired return type. * Valid return types are defined in {@link XPathConstants}. ! * Conversion to the return type follows XPath conversion rules.</p> * </td> * </tr> * </table> * * <p>An XPath expression is not thread-safe and not reentrant. * In other words, it is the application's responsibility to make * sure that one {@link XPathExpression} object is not used from * more than one thread at any given time, and while the {@code evaluate} * method is invoked, applications may not recursively call * the {@code evaluate} method. - * <p> * * @author <a href="mailto:Norman.Walsh@Sun.com">Norman Walsh</a> * @author <a href="mailto:Jeff.Suttor@Sun.com">Jeff Suttor</a> * @see <a href="http://www.w3.org/TR/xpath#section-Expressions">XML Path Language (XPath) Version 1.0, Expressions</a> * @since 1.5 */ public interface XPathExpression { /** ! * <p>Evaluate the compiled XPath expression in the specified context and return the result as the specified type.</p> * * <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation, ! * variable, function and QName resolution and return type conversion.</p> * * <p> * The parameter {@code item} represents the context the XPath expression * will be operated on. The type of the context is implementation-dependent. * If the value is {@code null}, the operation must have no dependency on --- 74,109 ---- * <tr> * <td>result</td> * <td> * This result of evaluating an expression is converted to an instance of the desired return type. * Valid return types are defined in {@link XPathConstants}. ! * Conversion to the return type follows XPath conversion rules. * </td> * </tr> + * </tbody> * </table> * * <p>An XPath expression is not thread-safe and not reentrant. * In other words, it is the application's responsibility to make * sure that one {@link XPathExpression} object is not used from * more than one thread at any given time, and while the {@code evaluate} * method is invoked, applications may not recursively call * the {@code evaluate} method. * * @author <a href="mailto:Norman.Walsh@Sun.com">Norman Walsh</a> * @author <a href="mailto:Jeff.Suttor@Sun.com">Jeff Suttor</a> * @see <a href="http://www.w3.org/TR/xpath#section-Expressions">XML Path Language (XPath) Version 1.0, Expressions</a> * @since 1.5 */ public interface XPathExpression { /** ! * Evaluate the compiled XPath expression in the specified context and return the result as the specified type. * * <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation, ! * variable, function and QName resolution and return type conversion. * * <p> * The parameter {@code item} represents the context the XPath expression * will be operated on. The type of the context is implementation-dependent. * If the value is {@code null}, the operation must have no dependency on
*** 124,140 **** */ public Object evaluate(Object item, QName returnType) throws XPathExpressionException; /** ! * <p>Evaluate the compiled XPath expression in the specified context and return the result as a {@code String}.</p> * * <p>This method calls {@link #evaluate(Object item, QName returnType)} with a {@code returnType} of ! * {@link XPathConstants#STRING}.</p> * * <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation, ! * variable, function and QName resolution and return type conversion.</p> * * <p> * The parameter {@code item} represents the context the XPath expression * will be operated on. The type of the context is implementation-dependent. * If the value is {@code null}, the operation must have no dependency on --- 124,140 ---- */ public Object evaluate(Object item, QName returnType) throws XPathExpressionException; /** ! * Evaluate the compiled XPath expression in the specified context and return the result as a {@code String}. * * <p>This method calls {@link #evaluate(Object item, QName returnType)} with a {@code returnType} of ! * {@link XPathConstants#STRING}. * * <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation, ! * variable, function and QName resolution and return type conversion. * * <p> * The parameter {@code item} represents the context the XPath expression * will be operated on. The type of the context is implementation-dependent. * If the value is {@code null}, the operation must have no dependency on
*** 151,174 **** */ public String evaluate(Object item) throws XPathExpressionException; /** ! * <p>Evaluate the compiled XPath expression in the context of the specified {@code InputSource} and return the result as the ! * specified type.</p> * * <p>This method builds a data model for the {@link InputSource} and calls ! * {@link #evaluate(Object item, QName returnType)} on the resulting document object.</p> * * <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation, ! * variable, function and QName resolution and return type conversion.</p> * * <p>If {@code returnType} is not one of the types defined in {@link XPathConstants}, ! * then an {@code IllegalArgumentException} is thrown.</p> * * <p>If {@code source} or {@code returnType} is {@code null}, ! * then a {@code NullPointerException} is thrown.</p> * * @param source The {@code InputSource} of the document to evaluate over. * @param returnType The desired return type. * * @return The {@code Object} that is the result of evaluating the expression and converting the result to --- 151,175 ---- */ public String evaluate(Object item) throws XPathExpressionException; /** ! * Evaluate the compiled XPath expression in the context ! * of the specified {@code InputSource} and return the result as the ! * specified type. * * <p>This method builds a data model for the {@link InputSource} and calls ! * {@link #evaluate(Object item, QName returnType)} on the resulting document object. * * <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation, ! * variable, function and QName resolution and return type conversion. * * <p>If {@code returnType} is not one of the types defined in {@link XPathConstants}, ! * then an {@code IllegalArgumentException} is thrown. * * <p>If {@code source} or {@code returnType} is {@code null}, ! * then a {@code NullPointerException} is thrown. * * @param source The {@code InputSource} of the document to evaluate over. * @param returnType The desired return type. * * @return The {@code Object} that is the result of evaluating the expression and converting the result to
*** 180,199 **** */ public Object evaluate(InputSource source, QName returnType) throws XPathExpressionException; /** ! * <p>Evaluate the compiled XPath expression in the context of the specified {@code InputSource} and return the result as a ! * {@code String}.</p> * * <p>This method calls {@link #evaluate(InputSource source, QName returnType)} with a {@code returnType} of ! * {@link XPathConstants#STRING}.</p> * * <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation, ! * variable, function and QName resolution and return type conversion.</p> * ! * <p>If {@code source} is {@code null}, then a {@code NullPointerException} is thrown.</p> * * @param source The {@code InputSource} of the document to evaluate over. * * @return The {@code String} that is the result of evaluating the expression and converting the result to a * {@code String}. --- 181,201 ---- */ public Object evaluate(InputSource source, QName returnType) throws XPathExpressionException; /** ! * Evaluate the compiled XPath expression in the context ! * of the specified {@code InputSource} and return the result as a ! * {@code String}. * * <p>This method calls {@link #evaluate(InputSource source, QName returnType)} with a {@code returnType} of ! * {@link XPathConstants#STRING}. * * <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation, ! * variable, function and QName resolution and return type conversion. * ! * <p>If {@code source} is {@code null}, then a {@code NullPointerException} is thrown. * * @param source The {@code InputSource} of the document to evaluate over. * * @return The {@code String} that is the result of evaluating the expression and converting the result to a * {@code String}.
*** 349,359 **** * equivalent to calling {@link #evaluateExpression(InputSource source, Class type)} * with type {@link XPathEvaluationResult}: * <pre> {@code * evaluateExpression(source, XPathEvaluationResult.class); * }</pre> - * <p> * * @implSpec * The default implementation in the XPath API is equivalent to: * <pre> {@code * (XPathEvaluationResult)evaluateExpression(source, XPathEvaluationResult.class); --- 351,360 ----
< prev index next >