You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-cvs@xml.apache.org by mr...@apache.org on 2008/06/22 20:50:37 UTC
svn commit: r670394 -
/xml/commons/trunk/java/external/src/javax/xml/transform/stax/StAXSource.java
Author: mrglavas
Date: Sun Jun 22 11:50:36 2008
New Revision: 670394
URL: http://svn.apache.org/viewvc?rev=670394&view=rev
Log:
Completing the implementation of StAXSource.
Modified:
xml/commons/trunk/java/external/src/javax/xml/transform/stax/StAXSource.java
Modified: xml/commons/trunk/java/external/src/javax/xml/transform/stax/StAXSource.java
URL: http://svn.apache.org/viewvc/xml/commons/trunk/java/external/src/javax/xml/transform/stax/StAXSource.java?rev=670394&r1=670393&r2=670394&view=diff
==============================================================================
--- xml/commons/trunk/java/external/src/javax/xml/transform/stax/StAXSource.java (original)
+++ xml/commons/trunk/java/external/src/javax/xml/transform/stax/StAXSource.java Sun Jun 22 11:50:36 2008
@@ -19,16 +19,63 @@
package javax.xml.transform.stax;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.events.XMLEvent;
import javax.xml.transform.Source;
public class StAXSource implements Source {
+
+ public static final String FEATURE = "http://javax.xml.transform.stax.StAXSource/feature";
+
+ private final XMLStreamReader xmlStreamReader;
+ private final XMLEventReader xmlEventReader;
+ private final String systemId;
+
+ public StAXSource(XMLStreamReader xmlStreamReader) {
+ if (xmlStreamReader == null) {
+ throw new IllegalArgumentException("XMLStreamReader cannot be null.");
+ }
+ final int event = xmlStreamReader.getEventType();
+ if (event != XMLStreamConstants.START_DOCUMENT &&
+ event != XMLStreamConstants.START_ELEMENT) {
+ throw new IllegalStateException("The state of the XMLStreamReader must be START_DOCUMENT or START_ELEMENT");
+ }
+ this.xmlStreamReader = xmlStreamReader;
+ this.xmlEventReader = null;
+ this.systemId = xmlStreamReader.getLocation().getSystemId();
+ }
+
+ public StAXSource(XMLEventReader xmlEventReader)
+ throws XMLStreamException {
+ if (xmlEventReader == null) {
+ throw new IllegalArgumentException("XMLEventReader cannot be null.");
+ }
+ final XMLEvent event = xmlEventReader.peek();
+ if (!event.isStartDocument() &&
+ !event.isStartElement()) {
+ throw new IllegalStateException("The state of the XMLEventReader must be START_DOCUMENT or START_ELEMENT");
+ }
+ this.xmlStreamReader = null;
+ this.xmlEventReader = xmlEventReader;
+ this.systemId = event.getLocation().getSystemId();
+ }
+
+ public XMLStreamReader getXMLStreamReader() {
+ return xmlStreamReader;
+ }
+
+ public XMLEventReader getXMLEventReader() {
+ return xmlEventReader;
+ }
public String getSystemId() {
- // TODO Auto-generated method stub
- return null;
+ return systemId;
}
public void setSystemId(String systemId) {
- // TODO Auto-generated method stub
+ throw new UnsupportedOperationException("Setting systemId is not supported.");
}
}