diff -r fd16c54261b3 -r 7f561c08de6b jaxp/src/share/classes/org/w3c/dom/xpath/XPathExpression.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/src/share/classes/org/w3c/dom/xpath/XPathExpression.java Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,95 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * This file is available under and governed by the GNU General Public + * License version 2 only, as published by the Free Software Foundation. + * However, the following notice accompanied the original version of this + * file and, per its terms, should not be removed: + * + * Copyright (c) 2002 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.xpath; + + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * The <code>XPathExpression</code> interface represents a parsed and resolved + * XPath expression. + * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>. + */ +public interface XPathExpression { + /** + * Evaluates this XPath expression and returns a result. + * @param contextNode The <code>context</code> is context node for the + * evaluation of this XPath expression.If the XPathEvaluator was + * obtained by casting the <code>Document</code> then this must be + * owned by the same document and must be a <code>Document</code>, + * <code>Element</code>, <code>Attribute</code>, <code>Text</code>, + * <code>CDATASection</code>, <code>Comment</code>, + * <code>ProcessingInstruction</code>, or <code>XPathNamespace</code> + * node.If the context node is a <code>Text</code> or a + * <code>CDATASection</code>, then the context is interpreted as the + * whole logical text node as seen by XPath, unless the node is empty + * in which case it may not serve as the XPath context. + * @param type If a specific <code>type</code> is specified, then the + * result will be coerced to return the specified type relying on + * XPath conversions and fail if the desired coercion is not possible. + * This must be one of the type codes of <code>XPathResult</code>. + * @param result The <code>result</code> specifies a specific result + * object which may be reused and returned by this method. If this is + * specified as <code>null</code>or the implementation does not reuse + * the specified result, a new result object will be constructed and + * returned.For XPath 1.0 results, this object will be of type + * <code>XPathResult</code>. + * @return The result of the evaluation of the XPath expression.For XPath + * 1.0 results, this object will be of type <code>XPathResult</code>. + * @exception XPathException + * TYPE_ERR: Raised if the result cannot be converted to return the + * specified type. + * @exception DOMException + * WRONG_DOCUMENT_ERR: The Node is from a document that is not supported + * by the XPathEvaluator that created this <code>XPathExpression</code> + * . + * <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath + * context node or the request type is not permitted by this + * <code>XPathExpression</code>. + */ + public Object evaluate(Node contextNode, + short type, + Object result) + throws XPathException, DOMException; + +}