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
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 mechanism in general for concrete implementations of XmlOutputAbstractImpl.
- Author:
- Kohsuke Kawaguchi
-
Field Summary
FieldsFields inherited from class com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl
nsContext, nsUriIndex2prefixIndex, serializer
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
XMLStreamWriterOutput
(XMLStreamWriter out, CharacterEscapeHandler escapeHandler) -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
beginStartTag
(int prefix, String localName) static XmlOutput
create
(XMLStreamWriter out, JAXBContextImpl context, CharacterEscapeHandler escapeHandler) Creates a newXmlOutput
from aXMLStreamWriter
.void
endDocument
(boolean fragment) Called at the very end.void
void
void
startDocument
(XMLSerializer serializer, boolean fragment, int[] nsUriIndex2prefixIndex, NamespaceContextImpl nsContext) Called at the very beginning.void
Writes XML text with character escaping, if necessary.void
Writes XML text with character escaping, if necessary.Methods inherited from class com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl
attribute, beginStartTag, endTag
-
Field Details
-
buf
protected final char[] buf
-
-
Constructor Details
-
XMLStreamWriterOutput
-
-
Method Details
-
create
public static XmlOutput create(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 IOException, SAXException, 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:
IOException
SAXException
XMLStreamException
-
endDocument
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:
IOException
SAXException
XMLStreamException
-
beginStartTag
- Specified by:
beginStartTag
in interfaceXmlOutput
- Specified by:
beginStartTag
in classXmlOutputAbstractImpl
- Throws:
IOException
XMLStreamException
-
attribute
public void attribute(int prefix, String localName, String value) throws IOException, 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:
IOException
XMLStreamException
-
endStartTag
- Specified by:
endStartTag
in interfaceXmlOutput
- Specified by:
endStartTag
in classXmlOutputAbstractImpl
- Throws:
IOException
SAXException
-
endTag
public void endTag(int prefix, String localName) throws IOException, SAXException, XMLStreamException - Specified by:
endTag
in interfaceXmlOutput
- Specified by:
endTag
in classXmlOutputAbstractImpl
- Throws:
IOException
SAXException
XMLStreamException
-
text
public void text(String value, boolean needsSeparatingWhitespace) throws IOException, SAXException, 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:
IOException
SAXException
XMLStreamException
-
text
public void text(Pcdata value, boolean needsSeparatingWhitespace) throws IOException, SAXException, 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:
IOException
SAXException
XMLStreamException
-