public class UTF8XmlOutput extends XmlOutputAbstractImpl
XmlOutput
implementation specialized for UTF-8.Modifier and Type | Field and Description |
---|---|
protected boolean |
closeStartTagPending
Set to true to indicate that we need to write '>'
to close a start tag.
|
protected byte[] |
octetBuffer
Buffer of octets for writing.
|
protected int |
octetBufferIndex
Index in buffer to write to.
|
protected OutputStream |
out |
nsContext, nsUriIndex2prefixIndex, serializer
Constructor and Description |
---|
UTF8XmlOutput(OutputStream out,
Encoded[] localNames,
CharacterEscapeHandler escapeHandler) |
Modifier and Type | Method and Description |
---|---|
void |
attribute(int prefix,
String localName,
String value) |
void |
attribute(Name name,
String value) |
void |
beginStartTag(int prefix,
String localName) |
void |
beginStartTag(Name name)
Writes a start tag.
|
protected void |
closeStartTag()
Writes '>' to close the start tag, if necessary.
|
void |
endDocument(boolean fragment)
Called at the very end.
|
void |
endStartTag() |
void |
endTag(int prefix,
String localName) |
void |
endTag(Name name) |
protected void |
flushBuffer() |
void |
setHeader(String header) |
void |
startDocument(XMLSerializer serializer,
boolean fragment,
int[] nsUriIndex2prefixIndex,
NamespaceContextImpl nsContext)
Called at the very beginning.
|
void |
text(byte[] data,
int dataLen)
Writes the given byte[] as base64 encoded binary to the output.
|
void |
text(int value) |
void |
text(Pcdata value,
boolean needSP)
Writes XML text with character escaping, if necessary.
|
void |
text(String value,
boolean needSP)
Writes XML text with character escaping, if necessary.
|
protected void |
write(byte[] b) |
protected void |
write(byte[] b,
int start,
int length) |
void |
write(int i)
Writes one byte directly into the buffer.
|
protected void |
writeNsDecl(int prefixIndex)
Writes a single namespace declaration for the specified prefix.
|
protected void |
writeNsDecls(int base) |
protected final OutputStream out
protected final byte[] octetBuffer
protected int octetBufferIndex
protected boolean closeStartTagPending
public UTF8XmlOutput(OutputStream out, Encoded[] localNames, CharacterEscapeHandler escapeHandler)
localNames
- local names encoded in UTF-8.public void setHeader(String header)
public void startDocument(XMLSerializer serializer, boolean fragment, int[] nsUriIndex2prefixIndex, NamespaceContextImpl nsContext) throws IOException, SAXException, XMLStreamException
XmlOutputAbstractImpl
startDocument
in interface XmlOutput
startDocument
in class XmlOutputAbstractImpl
serializer
- the XMLSerializer
that coordinates this whole marshalling episode.fragment
- true if we are marshalling a fragment.IOException
SAXException
XMLStreamException
public void endDocument(boolean fragment) throws IOException, SAXException, XMLStreamException
XmlOutputAbstractImpl
endDocument
in interface XmlOutput
endDocument
in class XmlOutputAbstractImpl
fragment
- false if we are writing the whole document.IOException
SAXException
XMLStreamException
protected final void closeStartTag() throws IOException
IOException
public void beginStartTag(int prefix, String localName) throws IOException
beginStartTag
in interface XmlOutput
beginStartTag
in class XmlOutputAbstractImpl
IOException
public void beginStartTag(Name name) throws IOException
XmlOutputAbstractImpl
At this point XmlOutputAbstractImpl.nsContext
holds namespace declarations needed for this
new element.
This method is used for writing tags that are indexed.
beginStartTag
in interface XmlOutput
beginStartTag
in class XmlOutputAbstractImpl
IOException
protected void writeNsDecls(int base) throws IOException
IOException
protected final void writeNsDecl(int prefixIndex) throws IOException
IOException
public void attribute(Name name, String value) throws IOException
attribute
in interface XmlOutput
attribute
in class XmlOutputAbstractImpl
IOException
public void attribute(int prefix, String localName, String value) throws IOException
attribute
in interface XmlOutput
attribute
in class XmlOutputAbstractImpl
prefix
- -1 if this attribute does not have a prefix
(this handling differs from that of elements.)IOException
public void endStartTag() throws IOException
endStartTag
in interface XmlOutput
endStartTag
in class XmlOutputAbstractImpl
IOException
public void endTag(Name name) throws IOException
endTag
in interface XmlOutput
endTag
in class XmlOutputAbstractImpl
IOException
public void endTag(int prefix, String localName) throws IOException
endTag
in interface XmlOutput
endTag
in class XmlOutputAbstractImpl
IOException
public void text(String value, boolean needSP) throws IOException
XmlOutput
value
- this string can contain characters that might need escaping
(such as '&' or '>')IOException
public void text(Pcdata value, boolean needSP) throws IOException
XmlOutput
value
- this string can contain characters that might need escaping
(such as '&' or '>')IOException
public final void text(int value) throws IOException
IOException
public void text(byte[] data, int dataLen) throws IOException
Being defined on this class allows this method to access the buffer directly, which translates to a better performance.
IOException
public final void write(int i) throws IOException
This method can be used somewhat like the text
method,
but it doesn't perform character escaping.
IOException
protected final void write(byte[] b) throws IOException
IOException
protected final void write(byte[] b, int start, int length) throws IOException
IOException
protected final void flushBuffer() throws IOException
IOException
Copyright © 2017 JBoss by Red Hat. All rights reserved.