src/javax/xml/stream/XMLInputFactory.java

Print this page

        

*** 26,37 **** * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved. */ package javax.xml.stream; - import javax.xml.transform.Source; import javax.xml.stream.util.XMLEventAllocator; /** * Defines an abstract implementation of a factory for getting streams. * * The following table defines the standard properties of this specification. --- 26,37 ---- * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved. */ package javax.xml.stream; import javax.xml.stream.util.XMLEventAllocator; + import javax.xml.transform.Source; /** * Defines an abstract implementation of a factory for getting streams. * * The following table defines the standard properties of this specification.
*** 148,193 **** * @throws FactoryConfigurationError if an instance of this factory cannot be loaded */ public static XMLInputFactory newInstance() throws FactoryConfigurationError { ! return (XMLInputFactory) FactoryFinder.find( ! "javax.xml.stream.XMLInputFactory", ! DEFAULIMPL); } /** * Create a new instance of the factory. * This static method creates a new factory instance. * This method uses the following ordered lookup procedure to determine * the XMLInputFactory implementation class to load: * Use the javax.xml.stream.XMLInputFactory system property. * Use the properties file "lib/stax.properties" in the JRE directory. * This configuration file is in standard java.util.Properties format * and contains the fully qualified name of the implementation class * with the key being the system property defined above. ! * Use the Services API (as detailed in the JAR specification), if available, ! * to determine the classname. The Services API will look for a classname ! * in the file META-INF/services/javax.xml.stream.XMLInputFactory in jars ! * available to the runtime. ! * Platform default XMLInputFactory instance. ! * * Once an application has obtained a reference to a XMLInputFactory it * can use the factory to configure and obtain stream instances. ! * * Note that this is a new method that replaces the deprecated newInstance() method. * No changes in behavior are defined by this replacement method relative to * the deprecated method. ! * ! * @throws FactoryConfigurationError if an instance of this factory cannot be loaded */ public static XMLInputFactory newFactory() throws FactoryConfigurationError { ! return (XMLInputFactory) FactoryFinder.find( ! "javax.xml.stream.XMLInputFactory", ! DEFAULIMPL); } /** * Create a new instance of the factory * --- 148,203 ---- * @throws FactoryConfigurationError if an instance of this factory cannot be loaded */ public static XMLInputFactory newInstance() throws FactoryConfigurationError { ! return FactoryFinder.find(XMLInputFactory.class, DEFAULIMPL); } /** * Create a new instance of the factory. + * <p> * This static method creates a new factory instance. * This method uses the following ordered lookup procedure to determine * the XMLInputFactory implementation class to load: + * </p> + * <ul> + * <li> * Use the javax.xml.stream.XMLInputFactory system property. + * </li> + * <li> * Use the properties file "lib/stax.properties" in the JRE directory. * This configuration file is in standard java.util.Properties format * and contains the fully qualified name of the implementation class * with the key being the system property defined above. ! * </li> ! * <li> ! * Use the service-provider loading facilities, defined by the ! * {@link java.util.ServiceLoader} class, to attempt to locate and load an ! * implementation of the service. ! * </li> ! * <li> ! * Otherwise, the system-default implementation is returned. ! * </li> ! * </ul> ! * <p> * Once an application has obtained a reference to a XMLInputFactory it * can use the factory to configure and obtain stream instances. ! * </p> ! * <p> * Note that this is a new method that replaces the deprecated newInstance() method. * No changes in behavior are defined by this replacement method relative to * the deprecated method. ! * </p> ! * @throws FactoryConfigurationError in case of {@linkplain ! * java.util.ServiceConfigurationError service configuration error} or if ! * the implementation is not available or cannot be instantiated. */ public static XMLInputFactory newFactory() throws FactoryConfigurationError { ! return FactoryFinder.find(XMLInputFactory.class, DEFAULIMPL); } /** * Create a new instance of the factory *
*** 204,220 **** * defines no changes in behavior. */ public static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError { - try { //do not fallback if given classloader can't find the class, throw exception ! return (XMLInputFactory) FactoryFinder.find(factoryId, classLoader, null); ! } catch (FactoryFinder.ConfigurationError e) { ! throw new FactoryConfigurationError(e.getException(), ! e.getMessage()); ! } } /** * Create a new instance of the factory. * If the classLoader argument is null, then the ContextClassLoader is used. --- 214,225 ---- * defines no changes in behavior. */ public static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError { //do not fallback if given classloader can't find the class, throw exception ! return FactoryFinder.find(XMLInputFactory.class, factoryId, classLoader, null); } /** * Create a new instance of the factory. * If the classLoader argument is null, then the ContextClassLoader is used.
*** 231,247 **** * @throws FactoryConfigurationError if an instance of this factory cannot be loaded */ public static XMLInputFactory newFactory(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError { - try { //do not fallback if given classloader can't find the class, throw exception ! return (XMLInputFactory) FactoryFinder.find(factoryId, classLoader, null); ! } catch (FactoryFinder.ConfigurationError e) { ! throw new FactoryConfigurationError(e.getException(), ! e.getMessage()); ! } } /** * Create a new XMLStreamReader from a reader * @param reader the XML data to read from --- 236,247 ---- * @throws FactoryConfigurationError if an instance of this factory cannot be loaded */ public static XMLInputFactory newFactory(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError { //do not fallback if given classloader can't find the class, throw exception ! return FactoryFinder.find(XMLInputFactory.class, factoryId, classLoader, null); } /** * Create a new XMLStreamReader from a reader * @param reader the XML data to read from