Class XMLStreamWriterOutput
- java.lang.Object
-
- com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl
-
- 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 StAXXMLStreamWriter
.TODO: Finding the optimized FI implementations is a bit hacky and not very extensible. Can we use the service provider mechanism in general for concrete implementations of XmlOutputAbstractImpl.
- Author:
- Kohsuke Kawaguchi
-
-
Field Summary
Fields Modifier and Type Field Description protected char[]
buf
-
Fields inherited from class com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl
nsContext, nsUriIndex2prefixIndex, serializer
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
XMLStreamWriterOutput(javax.xml.stream.XMLStreamWriter out, CharacterEscapeHandler escapeHandler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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, CharacterEscapeHandler escapeHandler)
Creates a newXmlOutput
from aXMLStreamWriter
.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
-
-
-
-
Constructor Detail
-
XMLStreamWriterOutput
protected XMLStreamWriterOutput(javax.xml.stream.XMLStreamWriter out, CharacterEscapeHandler escapeHandler)
-
-
Method Detail
-
create
public static XmlOutput create(javax.xml.stream.XMLStreamWriter out, JAXBContextImpl context, CharacterEscapeHandler escapeHandler)
Creates a newXmlOutput
from aXMLStreamWriter
. 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 interfaceXmlOutput
- Overrides:
startDocument
in classXmlOutputAbstractImpl
- Parameters:
serializer
- theXMLSerializer
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 interfaceXmlOutput
- Overrides:
endDocument
in classXmlOutputAbstractImpl
- 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 interfaceXmlOutput
- Specified by:
beginStartTag
in classXmlOutputAbstractImpl
- 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 interfaceXmlOutput
- Specified by:
attribute
in classXmlOutputAbstractImpl
- 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 interfaceXmlOutput
- Specified by:
endStartTag
in classXmlOutputAbstractImpl
- 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 interfaceXmlOutput
- Specified by:
endTag
in classXmlOutputAbstractImpl
- 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
-
-