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
'>'
to close a start tag. Deferring the write of this char
allows us to write "/>" for empty elements.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
XmlOutputAbstractImplstartDocument in interface XmlOutputstartDocument in class XmlOutputAbstractImplserializer - the XMLSerializer that coordinates this whole marshalling episode.fragment - true if we are marshalling a fragment.IOExceptionSAXExceptionXMLStreamExceptionpublic void endDocument(boolean fragment)
throws IOException,
SAXException,
XMLStreamException
XmlOutputAbstractImplendDocument in interface XmlOutputendDocument in class XmlOutputAbstractImplfragment - false if we are writing the whole document.IOExceptionSAXExceptionXMLStreamExceptionprotected final void closeStartTag()
throws IOException
'>' to close the start tag, if necessary.IOExceptionpublic void beginStartTag(int prefix,
String localName)
throws IOException
beginStartTag in interface XmlOutputbeginStartTag in class XmlOutputAbstractImplIOExceptionpublic 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 XmlOutputbeginStartTag in class XmlOutputAbstractImplIOExceptionprotected void writeNsDecls(int base)
throws IOException
IOExceptionprotected final void writeNsDecl(int prefixIndex)
throws IOException
IOExceptionpublic void attribute(Name name, String value) throws IOException
attribute in interface XmlOutputattribute in class XmlOutputAbstractImplIOExceptionpublic void attribute(int prefix,
String localName,
String value)
throws IOException
attribute in interface XmlOutputattribute in class XmlOutputAbstractImplprefix - -1 if this attribute does not have a prefix
(this handling differs from that of elements.)IOExceptionpublic void endStartTag()
throws IOException
endStartTag in interface XmlOutputendStartTag in class XmlOutputAbstractImplIOExceptionpublic void endTag(Name name) throws IOException
endTag in interface XmlOutputendTag in class XmlOutputAbstractImplIOExceptionpublic void endTag(int prefix,
String localName)
throws IOException
endTag in interface XmlOutputendTag in class XmlOutputAbstractImplIOExceptionpublic void text(String value, boolean needSP) throws IOException
XmlOutputvalue - this string can contain characters that might need escaping
(such as '&' or '>')IOExceptionpublic void text(Pcdata value, boolean needSP) throws IOException
XmlOutputvalue - this string can contain characters that might need escaping
(such as '&' or '>')IOExceptionpublic final void text(int value)
throws IOException
IOExceptionpublic 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.
IOExceptionpublic final void write(int i)
throws IOException
This method can be used somewhat like the text method,
but it doesn't perform character escaping.
IOExceptionprotected final void write(byte[] b)
throws IOException
IOExceptionprotected final void write(byte[] b,
int start,
int length)
throws IOException
IOExceptionprotected final void flushBuffer()
throws IOException
IOExceptionCopyright © 2018 JBoss by Red Hat. All rights reserved.