com.sun.xml.bind.v2.runtime.output
Class XMLStreamWriterOutput

java.lang.Object
  extended by com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl
      extended by com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput
All Implemented Interfaces:
XmlOutput
Direct Known Subclasses:
FastInfosetStreamWriterOutput, StAXExStreamWriterOutput

public class XMLStreamWriterOutput
extends XmlOutputAbstractImpl

XmlOutput that writes to StAX XMLStreamWriter.

TODO: Finding the optimized FI implementations is a bit hacky and not very extensible. Can we use the service provider mechnism in general for concrete implementations of XmlOutputAbstractImpl.


Field Summary
protected  char[] buf
           
 
Fields inherited from class com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl
nsContext, nsUriIndex2prefixIndex, serializer
 
Constructor Summary
protected XMLStreamWriterOutput(javax.xml.stream.XMLStreamWriter out)
           
 
Method Summary
 void attribute(int prefix, java.lang.String localName, java.lang.String value)
           
 void beginStartTag(int prefix, java.lang.String localName)
           
static XmlOutput create(javax.xml.stream.XMLStreamWriter out, JAXBContextImpl context)
          Creates a new XmlOutput from a XMLStreamWriter.
 void endDocument(boolean fragment)
          Called at the very end.
 void endStartTag()
           
 void endTag(int prefix, java.lang.String localName)
           
 void startDocument(XMLSerializer serializer, boolean fragment, int[] nsUriIndex2prefixIndex, NamespaceContextImpl nsContext)
          Called at the very beginning.
 void text(Pcdata value, boolean needsSeparatingWhitespace)
          Writes XML text with character escaping, if necessary.
 void text(java.lang.String value, boolean needsSeparatingWhitespace)
          Writes XML text with character escaping, if necessary.
 
Methods inherited from class com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl
attribute, beginStartTag, endTag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

buf

protected final char[] buf
Constructor Detail

XMLStreamWriterOutput

protected XMLStreamWriterOutput(javax.xml.stream.XMLStreamWriter out)
Method Detail

create

public static XmlOutput create(javax.xml.stream.XMLStreamWriter out,
                               JAXBContextImpl context)
Creates a new XmlOutput from a XMLStreamWriter. This method recognizes an FI StAX writer.


startDocument

public void startDocument(XMLSerializer serializer,
                          boolean fragment,
                          int[] nsUriIndex2prefixIndex,
                          NamespaceContextImpl nsContext)
                   throws java.io.IOException,
                          org.xml.sax.SAXException,
                          javax.xml.stream.XMLStreamException
Description copied from class: XmlOutputAbstractImpl
Called at the very beginning.

Specified by:
startDocument in interface XmlOutput
Overrides:
startDocument in class XmlOutputAbstractImpl
Parameters:
serializer - the XMLSerializer that coordinates this whole marshalling episode.
fragment - true if we are marshalling a fragment.
Throws:
java.io.IOException
org.xml.sax.SAXException
javax.xml.stream.XMLStreamException

endDocument

public void endDocument(boolean fragment)
                 throws java.io.IOException,
                        org.xml.sax.SAXException,
                        javax.xml.stream.XMLStreamException
Description copied from class: XmlOutputAbstractImpl
Called at the very end.

Specified by:
endDocument in interface XmlOutput
Overrides:
endDocument in class XmlOutputAbstractImpl
Parameters:
fragment - false if we are writing the whole document.
Throws:
java.io.IOException
org.xml.sax.SAXException
javax.xml.stream.XMLStreamException

beginStartTag

public void beginStartTag(int prefix,
                          java.lang.String localName)
                   throws java.io.IOException,
                          javax.xml.stream.XMLStreamException
Specified by:
beginStartTag in interface XmlOutput
Specified by:
beginStartTag in class XmlOutputAbstractImpl
Throws:
java.io.IOException
javax.xml.stream.XMLStreamException

attribute

public void attribute(int prefix,
                      java.lang.String localName,
                      java.lang.String value)
               throws java.io.IOException,
                      javax.xml.stream.XMLStreamException
Specified by:
attribute in interface XmlOutput
Specified by:
attribute in class XmlOutputAbstractImpl
Parameters:
prefix - -1 if this attribute does not have a prefix (this handling differs from that of elements.)
Throws:
java.io.IOException
javax.xml.stream.XMLStreamException

endStartTag

public void endStartTag()
                 throws java.io.IOException,
                        org.xml.sax.SAXException
Specified by:
endStartTag in interface XmlOutput
Specified by:
endStartTag in class XmlOutputAbstractImpl
Throws:
java.io.IOException
org.xml.sax.SAXException

endTag

public void endTag(int prefix,
                   java.lang.String localName)
            throws java.io.IOException,
                   org.xml.sax.SAXException,
                   javax.xml.stream.XMLStreamException
Specified by:
endTag in interface XmlOutput
Specified by:
endTag in class XmlOutputAbstractImpl
Throws:
java.io.IOException
org.xml.sax.SAXException
javax.xml.stream.XMLStreamException

text

public void text(java.lang.String value,
                 boolean needsSeparatingWhitespace)
          throws java.io.IOException,
                 org.xml.sax.SAXException,
                 javax.xml.stream.XMLStreamException
Description copied from interface: XmlOutput
Writes XML text with character escaping, if necessary.

Parameters:
value - this string can contain characters that might need escaping (such as '&' or '>')
Throws:
java.io.IOException
org.xml.sax.SAXException
javax.xml.stream.XMLStreamException

text

public void text(Pcdata value,
                 boolean needsSeparatingWhitespace)
          throws java.io.IOException,
                 org.xml.sax.SAXException,
                 javax.xml.stream.XMLStreamException
Description copied from interface: XmlOutput
Writes XML text with character escaping, if necessary.

Parameters:
value - this string can contain characters that might need escaping (such as '&' or '>')
Throws:
java.io.IOException
org.xml.sax.SAXException
javax.xml.stream.XMLStreamException