81 * </td> 82 * </tr> 83 * <tr> 84 * <th scope="row">result</th> 85 * <td> 86 * This result of evaluating an expression is converted to an instance of the desired return type. 87 * Valid return types are defined in {@link XPathConstants}. 88 * Conversion to the return type follows XPath conversion rules. 89 * </td> 90 * </tr> 91 * </tbody> 92 * </table> 93 * 94 * <p>An XPath object is not thread-safe and not reentrant. 95 * In other words, it is the application's responsibility to make 96 * sure that one {@link XPath} object is not used from 97 * more than one thread at any given time, and while the {@code evaluate} 98 * method is invoked, applications may not recursively call 99 * the {@code evaluate} method. 100 * 101 * @author <a href="Norman.Walsh@Sun.com">Norman Walsh</a> 102 * @author <a href="Jeff.Suttor@Sun.com">Jeff Suttor</a> 103 * @see <a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0</a> 104 * @since 1.5 105 */ 106 public interface XPath { 107 108 109 /** 110 * Reset this {@code XPath} to its original configuration. 111 * 112 * <p>{@code XPath} is reset to the same state as when it was created with 113 * {@link XPathFactory#newXPath()}. 114 * {@code reset()} is designed to allow the reuse of existing {@code XPath}s 115 * thus saving resources associated with the creation of new {@code XPath}s. 116 * 117 * <p>The reset {@code XPath} is not guaranteed to have the same 118 * {@link XPathFunctionResolver}, {@link XPathVariableResolver} 119 * or {@link NamespaceContext} {@code Object}s, e.g. {@link Object#equals(Object obj)}. 120 * It is guaranteed to have a functionally equal {@code XPathFunctionResolver}, 121 * {@code XPathVariableResolver} and {@code NamespaceContext}. 122 */ | 81 * </td> 82 * </tr> 83 * <tr> 84 * <th scope="row">result</th> 85 * <td> 86 * This result of evaluating an expression is converted to an instance of the desired return type. 87 * Valid return types are defined in {@link XPathConstants}. 88 * Conversion to the return type follows XPath conversion rules. 89 * </td> 90 * </tr> 91 * </tbody> 92 * </table> 93 * 94 * <p>An XPath object is not thread-safe and not reentrant. 95 * In other words, it is the application's responsibility to make 96 * sure that one {@link XPath} object is not used from 97 * more than one thread at any given time, and while the {@code evaluate} 98 * method is invoked, applications may not recursively call 99 * the {@code evaluate} method. 100 * 101 * @author Norman Walsh 102 * @author Jeff Suttor 103 * @see <a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0</a> 104 * @since 1.5 105 */ 106 public interface XPath { 107 108 109 /** 110 * Reset this {@code XPath} to its original configuration. 111 * 112 * <p>{@code XPath} is reset to the same state as when it was created with 113 * {@link XPathFactory#newXPath()}. 114 * {@code reset()} is designed to allow the reuse of existing {@code XPath}s 115 * thus saving resources associated with the creation of new {@code XPath}s. 116 * 117 * <p>The reset {@code XPath} is not guaranteed to have the same 118 * {@link XPathFunctionResolver}, {@link XPathVariableResolver} 119 * or {@link NamespaceContext} {@code Object}s, e.g. {@link Object#equals(Object obj)}. 120 * It is guaranteed to have a functionally equal {@code XPathFunctionResolver}, 121 * {@code XPathVariableResolver} and {@code NamespaceContext}. 122 */ |