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(XMLStreamWriter out, CharacterEscapeHandler escapeHandler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
attribute(int prefix, String localName, String value)
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
endStartTag()
void
endTag(int prefix, 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(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(XMLStreamWriter out, CharacterEscapeHandler escapeHandler)
-
-
Method Detail
-
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
public void endDocument(boolean fragment) throws IOException, SAXException, 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:
IOException
SAXException
XMLStreamException
-
beginStartTag
public void beginStartTag(int prefix, String localName) throws IOException, XMLStreamException
- 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
public void endStartTag() throws IOException, SAXException
- 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
-
-