From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- libjava/classpath/javax/xml/xpath/XPath.java | 115 +++++++++++ .../classpath/javax/xml/xpath/XPathConstants.java | 91 +++++++++ .../classpath/javax/xml/xpath/XPathException.java | 88 ++++++++ .../classpath/javax/xml/xpath/XPathExpression.java | 86 ++++++++ .../javax/xml/xpath/XPathExpressionException.java | 61 ++++++ .../classpath/javax/xml/xpath/XPathFactory.java | 227 +++++++++++++++++++++ .../xpath/XPathFactoryConfigurationException.java | 61 ++++++ .../classpath/javax/xml/xpath/XPathFunction.java | 59 ++++++ .../javax/xml/xpath/XPathFunctionException.java | 61 ++++++ .../javax/xml/xpath/XPathFunctionResolver.java | 59 ++++++ .../javax/xml/xpath/XPathVariableResolver.java | 52 +++++ libjava/classpath/javax/xml/xpath/package.html | 9 + 12 files changed, 969 insertions(+) create mode 100644 libjava/classpath/javax/xml/xpath/XPath.java create mode 100644 libjava/classpath/javax/xml/xpath/XPathConstants.java create mode 100644 libjava/classpath/javax/xml/xpath/XPathException.java create mode 100644 libjava/classpath/javax/xml/xpath/XPathExpression.java create mode 100644 libjava/classpath/javax/xml/xpath/XPathExpressionException.java create mode 100644 libjava/classpath/javax/xml/xpath/XPathFactory.java create mode 100644 libjava/classpath/javax/xml/xpath/XPathFactoryConfigurationException.java create mode 100644 libjava/classpath/javax/xml/xpath/XPathFunction.java create mode 100644 libjava/classpath/javax/xml/xpath/XPathFunctionException.java create mode 100644 libjava/classpath/javax/xml/xpath/XPathFunctionResolver.java create mode 100644 libjava/classpath/javax/xml/xpath/XPathVariableResolver.java create mode 100644 libjava/classpath/javax/xml/xpath/package.html (limited to 'libjava/classpath/javax/xml/xpath') diff --git a/libjava/classpath/javax/xml/xpath/XPath.java b/libjava/classpath/javax/xml/xpath/XPath.java new file mode 100644 index 000000000..eb652b1ae --- /dev/null +++ b/libjava/classpath/javax/xml/xpath/XPath.java @@ -0,0 +1,115 @@ +/* XPath.java -- + Copyright (C) 2004 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.xml.xpath; + +import javax.xml.namespace.NamespaceContext; +import javax.xml.namespace.QName; +import org.xml.sax.InputSource; + +/** + * Interface to the XPath evaluation environment. + * @since 1.3 + */ +public interface XPath +{ + + /** + * Resets the environment. + */ + void reset(); + + void setXPathVariableResolver(XPathVariableResolver resolver); + + XPathVariableResolver getXPathVariableResolver(); + + void setXPathFunctionResolver(XPathFunctionResolver resolver); + + XPathFunctionResolver getXPathFunctionResolver(); + + void setNamespaceContext(NamespaceContext nsContext); + + NamespaceContext getNamespaceContext(); + + /** + * Compiles an XPath expression for future evaluation. + * @param expression the expression + */ + XPathExpression compile(String expression) + throws XPathExpressionException; + + /** + * Evaluates an expression. + * @param expression the expression + * @param item the expression context + * @param returnType the desired return type + */ + Object evaluate(String expression, + Object item, + QName returnType) + throws XPathExpressionException; + + /** + * Evaluates an expression and returns the result as a string. + * @param expression the expression + * @param item the expression context + */ + String evaluate(String expression, + Object item) + throws XPathExpressionException; + + /** + * Evaluates an expression. + * @param expression the expression + * @param source the source to load the expression context from + * @param returnType the desired return type + */ + Object evaluate(String expression, + InputSource source, + QName returnType) + throws XPathExpressionException; + + /** + * Evaluates an expression and returns the result as a string. + * @param expression the expression + * @param source the source to load the expression context from + */ + String evaluate(String expression, + InputSource source) + throws XPathExpressionException; + +} diff --git a/libjava/classpath/javax/xml/xpath/XPathConstants.java b/libjava/classpath/javax/xml/xpath/XPathConstants.java new file mode 100644 index 000000000..9c39db9f3 --- /dev/null +++ b/libjava/classpath/javax/xml/xpath/XPathConstants.java @@ -0,0 +1,91 @@ +/* XPathConstants.java -- + Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.xml.xpath; + +import javax.xml.namespace.QName; + +/** + * XPath constants. + * + * @author (a href='mailto:dog@gnu.org'>Chris BurdessChris BurdessChris BurdessChris BurdessChris Burdess + *
  • the javax.xml.xpath.XPathFactory system property
  • + *
  • the above named property value in the + * $JAVA_HOME/lib/jaxp.properties file
  • + *
  • the class name specified in the + * META-INF/services/javax.xml.xpath.XPathFactory system + * resource
  • + *
  • the default factory class
  • + * + * @param uri the object model URI + */ + public static final XPathFactory newInstance(String uri) + throws XPathFactoryConfigurationException + { + ClassLoader loader = Thread.currentThread().getContextClassLoader(); + if (loader == null) + { + loader = XPathFactory.class.getClassLoader(); + } + String className = null; + int count = 0; + do + { + className = getFactoryClassName(loader, count++); + if (className != null) + { + try + { + Class t = (loader != null) ? loader.loadClass(className) : + Class.forName(className); + XPathFactory ret = (XPathFactory) t.newInstance(); + if (ret.isObjectModelSupported(uri)) + { + return ret; + } + className = null; + } + catch (ClassNotFoundException e) + { + className = null; + } + catch (Exception e) + { + throw new XPathFactoryConfigurationException(e); + } + } + } + while (className == null && count < 4); + String msg = "no factories with support for " + uri; + throw new XPathFactoryConfigurationException(msg); + } + + private static String getFactoryClassName(ClassLoader loader, int attempt) + { + final String propertyName = DEFAULT_PROPERTY_NAME; + switch (attempt) + { + case 0: + return System.getProperty(propertyName); + case 1: + try + { + File file = new File(System.getProperty("java.home")); + file = new File(file, "lib"); + file = new File(file, "jaxp.properties"); + InputStream in = new FileInputStream(file); + Properties props = new Properties(); + props.load(in); + in.close(); + return props.getProperty(propertyName); + } + catch (IOException e) + { + return null; + } + case 2: + try + { + String serviceKey = "/META-INF/services/" + propertyName; + InputStream in = (loader != null) ? + loader.getResourceAsStream(serviceKey) : + XPathFactory.class.getResourceAsStream(serviceKey); + if (in != null) + { + BufferedReader r = + new BufferedReader(new InputStreamReader(in)); + String ret = r.readLine(); + r.close(); + return ret; + } + } + catch (IOException e) + { + } + return null; + case 3: + return "gnu.xml.xpath.XPathFactoryImpl"; + default: + return null; + } + } + + /** + * Indicates whether the specified object model URI is supported by + * this factory. + */ + public abstract boolean isObjectModelSupported(String objectModel); + + /** + * Sets the state of the named feature. + */ + public abstract void setFeature(String name, boolean value) + throws XPathFactoryConfigurationException; + + /** + * Returns the state of the named feature. + */ + public abstract boolean getFeature(String name) + throws XPathFactoryConfigurationException; + + /** + * Sets the XPath variable resolver calback. + */ + public abstract void setXPathVariableResolver(XPathVariableResolver resolver); + + /** + * Sets the XPath extension function resolver calback. + */ + public abstract void setXPathFunctionResolver(XPathFunctionResolver resolver); + + /** + * Returns a new XPath evaluation environment. + */ + public abstract XPath newXPath(); + +} diff --git a/libjava/classpath/javax/xml/xpath/XPathFactoryConfigurationException.java b/libjava/classpath/javax/xml/xpath/XPathFactoryConfigurationException.java new file mode 100644 index 000000000..929cbe64b --- /dev/null +++ b/libjava/classpath/javax/xml/xpath/XPathFactoryConfigurationException.java @@ -0,0 +1,61 @@ +/* XPathFactoryConfigurationException.java -- + Copyright (C) 2004, 2005 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.xml.xpath; + +/** + * A configuration exception in an XPath factory environment. + * + * @author (a href='mailto:dog@gnu.org'>Chris BurdessChris BurdessChris BurdessChris Burdess + + +
    +This package provides access to an XPath evaluation environment and expressions. +
    + + + -- cgit v1.2.3