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 mechanism in general for concrete implementations of XmlOutputAbstractImpl.
| Modifier and Type | Field and Description |
|---|---|
protected char[] |
buf |
nsContext, nsUriIndex2prefixIndex, serializer| Modifier | Constructor and Description |
|---|---|
protected |
XMLStreamWriterOutput(javax.xml.stream.XMLStreamWriter out) |
| Modifier and Type | Method and 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)
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.
|
attribute, beginStartTag, endTagprotected XMLStreamWriterOutput(javax.xml.stream.XMLStreamWriter out)
public static XmlOutput create(javax.xml.stream.XMLStreamWriter out, JAXBContextImpl context)
XmlOutput from a XMLStreamWriter.
This method recognizes an FI StAX writer.public void startDocument(XMLSerializer serializer, boolean fragment, int[] nsUriIndex2prefixIndex, NamespaceContextImpl nsContext) throws java.io.IOException, org.xml.sax.SAXException, javax.xml.stream.XMLStreamException
XmlOutputAbstractImplstartDocument in interface XmlOutputstartDocument in class XmlOutputAbstractImplserializer - the XMLSerializer that coordinates this whole marshalling episode.fragment - true if we are marshalling a fragment.java.io.IOExceptionorg.xml.sax.SAXExceptionjavax.xml.stream.XMLStreamExceptionpublic void endDocument(boolean fragment)
throws java.io.IOException,
org.xml.sax.SAXException,
javax.xml.stream.XMLStreamException
XmlOutputAbstractImplendDocument in interface XmlOutputendDocument in class XmlOutputAbstractImplfragment - false if we are writing the whole document.java.io.IOExceptionorg.xml.sax.SAXExceptionjavax.xml.stream.XMLStreamExceptionpublic void beginStartTag(int prefix,
java.lang.String localName)
throws java.io.IOException,
javax.xml.stream.XMLStreamException
beginStartTag in interface XmlOutputbeginStartTag in class XmlOutputAbstractImpljava.io.IOExceptionjavax.xml.stream.XMLStreamExceptionpublic void attribute(int prefix,
java.lang.String localName,
java.lang.String value)
throws java.io.IOException,
javax.xml.stream.XMLStreamException
attribute in interface XmlOutputattribute in class XmlOutputAbstractImplprefix - -1 if this attribute does not have a prefix
(this handling differs from that of elements.)java.io.IOExceptionjavax.xml.stream.XMLStreamExceptionpublic void endStartTag()
throws java.io.IOException,
org.xml.sax.SAXException
endStartTag in interface XmlOutputendStartTag in class XmlOutputAbstractImpljava.io.IOExceptionorg.xml.sax.SAXExceptionpublic void endTag(int prefix,
java.lang.String localName)
throws java.io.IOException,
org.xml.sax.SAXException,
javax.xml.stream.XMLStreamException
endTag in interface XmlOutputendTag in class XmlOutputAbstractImpljava.io.IOExceptionorg.xml.sax.SAXExceptionjavax.xml.stream.XMLStreamExceptionpublic void text(java.lang.String value,
boolean needsSeparatingWhitespace)
throws java.io.IOException,
org.xml.sax.SAXException,
javax.xml.stream.XMLStreamException
XmlOutputvalue - this string can contain characters that might need escaping
(such as '&' or '>')java.io.IOExceptionorg.xml.sax.SAXExceptionjavax.xml.stream.XMLStreamExceptionpublic void text(Pcdata value, boolean needsSeparatingWhitespace) throws java.io.IOException, org.xml.sax.SAXException, javax.xml.stream.XMLStreamException
XmlOutputvalue - this string can contain characters that might need escaping
(such as '&' or '>')java.io.IOExceptionorg.xml.sax.SAXExceptionjavax.xml.stream.XMLStreamException