Change Log for JSR-000173 Streaming API for XML
This page details the proposed, accepted and deferred changes to JSR
173 documenting the changes that will go into the next revision, per Spec Lead Guide: Maintenance Review (MR), of
the JCP 6.1 document.
Last updated: 24 June 2009
Description
Minor revision 1.2 of Streaming API for XML Processing for the Java Platform
Special notes concerning Proposed Changes 1, 2, 3:Since StAX 1.0 standardization, usage, and the problems (proposed resolutions thereof below that constitute this MR) predate
annotations, and in particular @Depreciated; this MR proposes to depreciate erroneous/superseded APIs using the previous
JavaDoc @depreciated annotation, thus enabling the use of the new MR release on Java implementations prior to 5.0 (1.5).
However the JSR MR EG may decide to forgo backwards compatibility prior to Java 5.0 (1.5) and employ the newer annotation based
depreciation mechanism. This will be resolved prior to the MR being declared final.
Proposed changes 4, 6, 8: Add new methods
'[ XMLInput | XMLOutput | XMLEvent ]Factory.newFactory(String factoryId, ClassLoader classloader)'
for API consistency. Include JavaDocs to clarify the expected behavior of the
methods when the ClassLoader argument is null. The specified behavior is what was implied but not defined
from the corresponding StAX v1.0 newInstance(String factoryId, ClassLoader classloader)
methods at the time that the StAX v1.0 specification went final.
Proposed changes 5, 7, 9: Add new no-arg methods '[ XMLInput | XMLOutput | XMLEvent ]Factory.newFactory()'
for API consistency. Include JavaDocs to all the no-arg methods that clarify the class loading behavior. This class loading behavior
description was missing from the corresponding StAX v1.0 no-arg 'newInstance()' methods for XMLOutputFactory and XMLEventFactory.
Maintenance Lead
Larry Cable, Oracle Corporation
Thorick Chow, Oracle Corporation
Feedback
Comments should be sent to mailto:jsr-173-comments@jcp.org.
PROPOSED CHANGES |
||
| Request | Summary | Specification/Interface |
| 1 | XMLOutputFactory deprecate via JavaDoc the public static
method in: javax.xml.stream.XMLOutputFactory public static XMLInputFactory newInstance(java.lang.String factoryId, java.lang.ClassLoader classLoader) throws FactoryConfigurationError |
XMLOutputFactory
class: add deprecated notice to method JavaDoc: @deprecated This method has been deprecated because it returns an instance of XMLInputFactory, which is of the wrong class. Use the new method newFactory(java.lang.String factoryId, java.lang.ClassLoader classLoader) instead. |
| 2 | XMLInputFactory deprecate via JavaDoc the public static
method in: javax.xml.stream.XMLInputFactory public static XMLInputFactory newInstance(java.lang.String factoryId, java.lang.ClassLoader classLoader) throws FactoryConfigurationError |
XMLInputFactory class: add deprecation notice to method JavaDoc: @deprecated to maintain API consistency. All newInstance methods are replaced with corresponding newFactory methods. The replacement newFactory(String factoryId, ClassLoader classLoader) method defines no changes in behavior from this method. |
| 3 | XMLEventFactory deprecate via JavaDoc the public static
method in: javax.xml.stream.XMLEventFactory public static XMLEventFactory newInstance(java.lang.String factoryId, java.lang.ClassLoader classLoader) throws FactoryConfigurationError |
XMLEventFactory class: add deprecation notice to method JavaDoc: @deprecated to maintain API consistency. All newInstance methods are replaced with corresponding newFactory methods. The replacement newFactory(String factoryId, ClassLoader classLoader) method defines no changes in behavior from this method. |
| 4 | XMLOutputFactory add public
static method to take the place of the method deprecated in proposal
request
#1:
in class: javax.xml.stream.XMLOutputFactory public static XMLOutputFactory newFactory(java.lang.String factoryId, java.lang.ClassLoader classLoader) throws FactoryConfigurationError |
XMLOutputFactory class: add new method. JavaDoc to read: Create a new instance of the factory. If the classLoader argument is null, then the ContextClassLoader is used. Note that this is a new method that replaces the deprecated newInstance(String factoryId, ClassLoader classLoader) method. No changes in behavior are defined by this replacement method relative to the deprecated method. |
| 5 | XMLOutputFactory add public
static method for API consistency:
in class: javax.xml.stream.XMLOutputFactory public static XMLOutputFactory newFactory() throws FactoryConfigurationError |
XMLOutputFactory class:
add new method. JavaDoc to read: 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 XMLOutputFactory implementation class to load: Use the javax.xml.stream.XMLOutputFactory 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.XMLOutputFactory in jars available to the runtime. Platform default XMLOutputFactory instance. Once an application has obtained a reference to a XMLOutputFactory 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. |
| 6 | XMLInputFactory add public
static method to take the place of the method deprecated in proposal
request #2:
in class: javax.xml.stream.XMLInputFactory public static XMLInputFactory newFactory(java.lang.String factoryId, java.lang.ClassLoader classLoader) throws FactoryConfigurationError |
XMLInputFactory class:
add new method. JavaDoc to read: Create a new instance of the factory. If the classLoader argument is null, then the ContextClassLoader is used. Note that this is a new method that replaces the deprecated newInstance(String factoryId, ClassLoader classLoader) method. No changes in behavior are defined by this replacement method relative to the deprecated method. |
| 7 | XMLInputFactory add public
static method for API consistency:
in class: javax.xml.stream.XMLInputFactory public static XMLInputFactory newFactory() throws FactoryConfigurationError |
XMLInputFactory class:
add new method. JavaDoc to read: 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. |
| 8 | XMLEventFactory add public
static method to take the place of the method deprecated in proposal
request #3:
in class: javax.xml.stream.XMLEventFactory public static XMLEventFactory newFactory(java.lang.String factoryId, java.lang.ClassLoader classLoader) throws FactoryConfigurationError |
XMLEventFactory class:
add new method. JavaDoc to read: Create a new instance of the factory. If the classLoader argument is null, then the ContextClassLoader is used. Note that this is a new method that replaces the deprecated newInstance(String factoryId, ClassLoader classLoader) method. No changes in behavior are defined by this replacement method relative to the deprecated method. |
| 9 | XMLEventFactory add public
static method for API consistency
in class: javax.xml.stream.XMLEventFactory public static XMLEventFactory newFactory() throws FactoryConfigurationError |
XMLEventFactory class:
add new method. JavaDoc to read: 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 XMLEventFactory implementation class to load: Use the javax.xml.stream.XMLEventFactory 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.XMLEventFactory in jars available to the runtime. Platform default XMLEventFactory instance. Once an application has obtained a reference to a XMLEventFactory 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. |
ACCEPTED CHANGES |
||
| Request | Summary | Specification/Interface |
| |
||