Class EncodingXmlWriter
- java.lang.Object
-
- com.ctc.wstx.sw.XmlWriter
-
- com.ctc.wstx.sw.EncodingXmlWriter
-
- Direct Known Subclasses:
AsciiXmlWriter,ISOLatin1XmlWriter
public abstract class EncodingXmlWriter extends XmlWriter
Intermediate base class used when outputting to streams that use an encoding that is compatible with 7-bit single-byte Ascii encoding. That means it can be used for UTF-8, ISO-Latin1 and pure Ascii.Implementation notes:
Parts of surrogate handling are implemented here in the base class: storage for the first part of a split surrogate (only possible when character content is output split in multiple calls) is within base class. Also, simple checks for unmatched surrogate pairs are in
writeAsciimethod, since it is the most convenient place to catch cases where a text segment ends with an unmatched surrogate pair half.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static byteBYTE_A(package private) static byteBYTE_AMP(package private) static byteBYTE_APOS(package private) static byteBYTE_COLON(package private) static byteBYTE_EQ(package private) static byteBYTE_G(package private) static byteBYTE_GT(package private) static byteBYTE_HASH(package private) static byteBYTE_HYPHEN(package private) static byteBYTE_L(package private) static byteBYTE_LBRACKET(package private) static byteBYTE_LT(package private) static byteBYTE_M(package private) static byteBYTE_O(package private) static byteBYTE_P(package private) static byteBYTE_Q(package private) static byteBYTE_QMARK(package private) static byteBYTE_QUOT(package private) static byteBYTE_RBRACKET(package private) static byteBYTE_S(package private) static byteBYTE_SEMICOLON(package private) static byteBYTE_SLASH(package private) static byteBYTE_SPACE(package private) static byteBYTE_T(package private) static byteBYTE_U(package private) static byteBYTE_X(package private) static intDEFAULT_BUFFER_SIZELet's use a typical default to have a compromise between large enough chunks to output, and minimizing memory overhead.private java.io.OutputStreammOutActual output stream to use for outputting encoded content as bytes.protected byte[]mOutputBufferprotected intmOutputPtrprotected intmSurrogateIn case a split surrogate pair is output (which can only successfully occur with eitherwriteRaworwriteCharacters), the first part is temporarily stored within this member variable.-
Fields inherited from class com.ctc.wstx.sw.XmlWriter
DEFAULT_QUOTE_CHAR, mAddSpaceAfterEmptyElem, mAttrValueWriter, mAutoCloseOutput, mCheckContent, mCheckNames, mCheckStructure, mConfig, mEncoding, mEscapeCR, mFixContent, mLocPastChars, mLocRowNr, mLocRowStartOffset, mNsAware, mRawWrapper, mTextWrapper, mTextWriter, mUseDoubleQuotesInXmlDecl, mXml11, SURR1_FIRST, SURR1_LAST, SURR2_FIRST, SURR2_LAST
-
-
Constructor Summary
Constructors Constructor Description EncodingXmlWriter(java.io.OutputStream out, WriterConfig cfg, java.lang.String encoding, boolean autoclose)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected intcalcSurrogate(int secondSurr)voidclose(boolean forceRealClose)Method called to flush the buffer(s), and close the output sink (stream or writer) if enabled (auto-closing) or forced.voidflush()protected voidflushBuffer()protected intgetOutputPtr()This method is needed by the super class, to calculate hard byte/char offsets.protected java.io.OutputStreamgetOutputStream()protected java.io.WritergetWriter()protected voidthrowUnpairedSurrogate()protected voidthrowUnpairedSurrogate(int code)protected voidwriteAscii(byte b)protected voidwriteAscii(byte b1, byte b2)protected voidwriteAscii(java.lang.String str)protected intwriteAsEntity(int c)Entity writing can be optimized quite nicely, since it only needs to output ascii characters.voidwriteAttribute(java.lang.String localName, char[] value, int offset, int len)voidwriteAttribute(java.lang.String localName, java.lang.String value)Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)voidwriteAttribute(java.lang.String prefix, java.lang.String localName, char[] value, int offset, int len)voidwriteAttribute(java.lang.String prefix, java.lang.String localName, java.lang.String value)Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)protected abstract voidwriteAttrValue(char[] value, int offset, int len)protected abstract voidwriteAttrValue(java.lang.String data)intwriteCData(char[] cbuf, int offset, int len)intwriteCData(java.lang.String data)protected abstract intwriteCDataContent(char[] cbuf, int start, int len)protected abstract intwriteCDataContent(java.lang.String data)voidwriteCDataEnd()voidwriteCDataStart()voidwriteCharacters(char[] cbuf, int offset, int len)voidwriteCharacters(java.lang.String data)intwriteComment(java.lang.String data)Method that will try to output the content as specified.protected abstract intwriteCommentContent(java.lang.String data)voidwriteCommentEnd()voidwriteCommentStart()voidwriteDTD(java.lang.String data)Older "legacy" output method for outputting DOCTYPE declaration.voidwriteDTD(java.lang.String rootName, java.lang.String systemId, java.lang.String publicId, java.lang.String internalSubset)voidwriteEndTag(java.lang.String localName)voidwriteEndTag(java.lang.String prefix, java.lang.String localName)voidwriteEntityReference(java.lang.String name)protected voidwriteName(java.lang.String name)protected voidwriteNameUnchecked(java.lang.String name)intwritePI(java.lang.String target, java.lang.String data)protected abstract intwritePIData(java.lang.String data)voidwritePIEnd()voidwritePIStart(java.lang.String target, boolean addSpace)abstract voidwriteRaw(char[] cbuf, int offset, int len)abstract voidwriteRaw(java.lang.String str, int offset, int len)voidwriteRawAscii(char[] buf, int offset, int len)LikeXmlWriter.writeRaw(java.lang.String, int, int), but caller guarantees that the contents additionally are known to be in 7-bit ascii range.voidwriteStartTagEmptyEnd()voidwriteStartTagEnd()voidwriteStartTagStart(java.lang.String localName)Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)voidwriteStartTagStart(java.lang.String prefix, java.lang.String localName)Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)protected abstract voidwriteTextContent(char[] cbuf, int start, int len)protected abstract voidwriteTextContent(java.lang.String data)voidwriteTypedAttribute(java.lang.String prefix, java.lang.String localName, java.lang.String nsURI, org.codehaus.stax2.ri.typed.AsciiValueEncoder enc, org.codehaus.stax2.validation.XMLValidator validator, char[] copyBuffer)Method similar toXmlWriter.writeAttribute(String,String,char[],int,int)but where is known not to require escaping.voidwriteTypedAttribute(java.lang.String prefix, java.lang.String localName, org.codehaus.stax2.ri.typed.AsciiValueEncoder enc)Method similar toXmlWriter.writeAttribute(String,String,char[],int,int)but where is known not to require escaping.voidwriteTypedAttribute(java.lang.String localName, org.codehaus.stax2.ri.typed.AsciiValueEncoder enc)Method similar toXmlWriter.writeAttribute(String,String,char[],int,int)but where is known not to require escaping.voidwriteTypedElement(org.codehaus.stax2.ri.typed.AsciiValueEncoder enc)Non-validating version of typed write methodvoidwriteTypedElement(org.codehaus.stax2.ri.typed.AsciiValueEncoder enc, org.codehaus.stax2.validation.XMLValidator validator, char[] copyBuffer)Validating version of typed write methodvoidwriteXmlDeclaration(java.lang.String version, java.lang.String encoding, java.lang.String standalone)-
Methods inherited from class com.ctc.wstx.sw.XmlWriter
enableXml11, getAbsOffset, getColumn, getRow, handleInvalidChar, reportNwfContent, reportNwfName, throwOutputError, throwOutputError, verifyNameValidity, wrapAsRawWriter, wrapAsTextWriter, writeRaw
-
-
-
-
Field Detail
-
DEFAULT_BUFFER_SIZE
static final int DEFAULT_BUFFER_SIZE
Let's use a typical default to have a compromise between large enough chunks to output, and minimizing memory overhead. 4k should be close enough to a physical page to work out acceptably, without causing excessive (if temporary) memory usage.- See Also:
- Constant Field Values
-
BYTE_SPACE
static final byte BYTE_SPACE
- See Also:
- Constant Field Values
-
BYTE_COLON
static final byte BYTE_COLON
- See Also:
- Constant Field Values
-
BYTE_SEMICOLON
static final byte BYTE_SEMICOLON
- See Also:
- Constant Field Values
-
BYTE_LBRACKET
static final byte BYTE_LBRACKET
- See Also:
- Constant Field Values
-
BYTE_RBRACKET
static final byte BYTE_RBRACKET
- See Also:
- Constant Field Values
-
BYTE_QMARK
static final byte BYTE_QMARK
- See Also:
- Constant Field Values
-
BYTE_EQ
static final byte BYTE_EQ
- See Also:
- Constant Field Values
-
BYTE_SLASH
static final byte BYTE_SLASH
- See Also:
- Constant Field Values
-
BYTE_HASH
static final byte BYTE_HASH
- See Also:
- Constant Field Values
-
BYTE_HYPHEN
static final byte BYTE_HYPHEN
- See Also:
- Constant Field Values
-
BYTE_LT
static final byte BYTE_LT
- See Also:
- Constant Field Values
-
BYTE_GT
static final byte BYTE_GT
- See Also:
- Constant Field Values
-
BYTE_AMP
static final byte BYTE_AMP
- See Also:
- Constant Field Values
-
BYTE_QUOT
static final byte BYTE_QUOT
- See Also:
- Constant Field Values
-
BYTE_APOS
static final byte BYTE_APOS
- See Also:
- Constant Field Values
-
BYTE_A
static final byte BYTE_A
- See Also:
- Constant Field Values
-
BYTE_G
static final byte BYTE_G
- See Also:
- Constant Field Values
-
BYTE_L
static final byte BYTE_L
- See Also:
- Constant Field Values
-
BYTE_M
static final byte BYTE_M
- See Also:
- Constant Field Values
-
BYTE_O
static final byte BYTE_O
- See Also:
- Constant Field Values
-
BYTE_P
static final byte BYTE_P
- See Also:
- Constant Field Values
-
BYTE_Q
static final byte BYTE_Q
- See Also:
- Constant Field Values
-
BYTE_S
static final byte BYTE_S
- See Also:
- Constant Field Values
-
BYTE_T
static final byte BYTE_T
- See Also:
- Constant Field Values
-
BYTE_U
static final byte BYTE_U
- See Also:
- Constant Field Values
-
BYTE_X
static final byte BYTE_X
- See Also:
- Constant Field Values
-
mOut
private final java.io.OutputStream mOut
Actual output stream to use for outputting encoded content as bytes.
-
mOutputBuffer
protected byte[] mOutputBuffer
-
mOutputPtr
protected int mOutputPtr
-
mSurrogate
protected int mSurrogate
In case a split surrogate pair is output (which can only successfully occur with eitherwriteRaworwriteCharacters), the first part is temporarily stored within this member variable.
-
-
Constructor Detail
-
EncodingXmlWriter
public EncodingXmlWriter(java.io.OutputStream out, WriterConfig cfg, java.lang.String encoding, boolean autoclose) throws java.io.IOException- Throws:
java.io.IOException
-
-
Method Detail
-
getOutputPtr
protected int getOutputPtr()
This method is needed by the super class, to calculate hard byte/char offsets.- Specified by:
getOutputPtrin classXmlWriter
-
getOutputStream
protected final java.io.OutputStream getOutputStream()
- Specified by:
getOutputStreamin classXmlWriter- Returns:
- Underlying OutputStream used for physical output, if the writer was constructed using one
-
getWriter
protected final java.io.Writer getWriter()
-
close
public void close(boolean forceRealClose) throws java.io.IOExceptionDescription copied from class:XmlWriterMethod called to flush the buffer(s), and close the output sink (stream or writer) if enabled (auto-closing) or forced.
-
flush
public final void flush() throws java.io.IOException
-
writeRaw
public abstract void writeRaw(char[] cbuf, int offset, int len) throws java.io.IOException
-
writeRaw
public abstract void writeRaw(java.lang.String str, int offset, int len) throws java.io.IOException
-
writeCDataStart
public final void writeCDataStart() throws java.io.IOException- Specified by:
writeCDataStartin classXmlWriter- Throws:
java.io.IOException
-
writeCDataEnd
public final void writeCDataEnd() throws java.io.IOException- Specified by:
writeCDataEndin classXmlWriter- Throws:
java.io.IOException
-
writeCommentStart
public final void writeCommentStart() throws java.io.IOException- Specified by:
writeCommentStartin classXmlWriter- Throws:
java.io.IOException
-
writeCommentEnd
public final void writeCommentEnd() throws java.io.IOException- Specified by:
writeCommentEndin classXmlWriter- Throws:
java.io.IOException
-
writePIStart
public final void writePIStart(java.lang.String target, boolean addSpace) throws java.io.IOException- Specified by:
writePIStartin classXmlWriter- Throws:
java.io.IOException
-
writePIEnd
public final void writePIEnd() throws java.io.IOException- Specified by:
writePIEndin classXmlWriter- Throws:
java.io.IOException
-
writeCData
public int writeCData(java.lang.String data) throws java.io.IOException- Specified by:
writeCDatain classXmlWriter- Parameters:
data- Contents of the CDATA section to write out- Returns:
- offset of the (first) illegal content segment ("]]>") in passed content and not in repairing mode; or -1 if none or is repairing
- Throws:
java.io.IOException
-
writeCData
public int writeCData(char[] cbuf, int offset, int len) throws java.io.IOException- Specified by:
writeCDatain classXmlWriter- Throws:
java.io.IOException
-
writeCharacters
public final void writeCharacters(java.lang.String data) throws java.io.IOException- Specified by:
writeCharactersin classXmlWriter- Throws:
java.io.IOException
-
writeCharacters
public final void writeCharacters(char[] cbuf, int offset, int len) throws java.io.IOException- Specified by:
writeCharactersin classXmlWriter- Throws:
java.io.IOException
-
writeComment
public int writeComment(java.lang.String data) throws java.io.IOExceptionMethod that will try to output the content as specified. If the content passed in has embedded "--" in it, it will either add an intervening space between consequtive hyphens (if content fixing is enabled), or return the offset of the first hyphen in multi-hyphen sequence.- Specified by:
writeCommentin classXmlWriter- Throws:
java.io.IOException
-
writeDTD
public void writeDTD(java.lang.String data) throws java.io.IOExceptionDescription copied from class:XmlWriterOlder "legacy" output method for outputting DOCTYPE declaration. Assumes that the passed-in String contains a complete DOCTYPE declaration properly quoted.
-
writeDTD
public void writeDTD(java.lang.String rootName, java.lang.String systemId, java.lang.String publicId, java.lang.String internalSubset) throws java.io.IOException, javax.xml.stream.XMLStreamException
-
writeEntityReference
public void writeEntityReference(java.lang.String name) throws java.io.IOException, javax.xml.stream.XMLStreamException- Specified by:
writeEntityReferencein classXmlWriter- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeXmlDeclaration
public void writeXmlDeclaration(java.lang.String version, java.lang.String encoding, java.lang.String standalone) throws java.io.IOException- Specified by:
writeXmlDeclarationin classXmlWriter- Throws:
java.io.IOException
-
writePI
public int writePI(java.lang.String target, java.lang.String data) throws java.io.IOException, javax.xml.stream.XMLStreamException
-
writeStartTagStart
public void writeStartTagStart(java.lang.String localName) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionDescription copied from class:XmlWriterNote: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
- Specified by:
writeStartTagStartin classXmlWriter- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeStartTagStart
public void writeStartTagStart(java.lang.String prefix, java.lang.String localName) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionDescription copied from class:XmlWriterNote: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
- Specified by:
writeStartTagStartin classXmlWriter- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeStartTagEnd
public void writeStartTagEnd() throws java.io.IOException- Specified by:
writeStartTagEndin classXmlWriter- Throws:
java.io.IOException
-
writeStartTagEmptyEnd
public void writeStartTagEmptyEnd() throws java.io.IOException- Specified by:
writeStartTagEmptyEndin classXmlWriter- Throws:
java.io.IOException
-
writeEndTag
public void writeEndTag(java.lang.String localName) throws java.io.IOException- Specified by:
writeEndTagin classXmlWriter- Throws:
java.io.IOException
-
writeEndTag
public void writeEndTag(java.lang.String prefix, java.lang.String localName) throws java.io.IOException- Specified by:
writeEndTagin classXmlWriter- Throws:
java.io.IOException
-
writeAttribute
public void writeAttribute(java.lang.String localName, java.lang.String value) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionDescription copied from class:XmlWriterNote: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
- Specified by:
writeAttributein classXmlWriter- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String localName, char[] value, int offset, int len) throws java.io.IOException, javax.xml.stream.XMLStreamException- Specified by:
writeAttributein classXmlWriter- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String prefix, java.lang.String localName, java.lang.String value) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionDescription copied from class:XmlWriterNote: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
- Specified by:
writeAttributein classXmlWriter- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String prefix, java.lang.String localName, char[] value, int offset, int len) throws java.io.IOException, javax.xml.stream.XMLStreamException- Specified by:
writeAttributein classXmlWriter- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeTypedElement
public final void writeTypedElement(org.codehaus.stax2.ri.typed.AsciiValueEncoder enc) throws java.io.IOExceptionNon-validating version of typed write method- Specified by:
writeTypedElementin classXmlWriter- Parameters:
enc- Encoder that will produce content- Throws:
java.io.IOException
-
writeTypedElement
public final void writeTypedElement(org.codehaus.stax2.ri.typed.AsciiValueEncoder enc, org.codehaus.stax2.validation.XMLValidator validator, char[] copyBuffer) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionValidating version of typed write method- Specified by:
writeTypedElementin classXmlWriter- Parameters:
enc- Encoder that will produce contentvalidator- Validator to use for validating serialized textual content (can not be null)copyBuffer- Temporary buffer that writer can use for temporary copies as necessary- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeTypedAttribute
public void writeTypedAttribute(java.lang.String localName, org.codehaus.stax2.ri.typed.AsciiValueEncoder enc) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionDescription copied from class:XmlWriterMethod similar toXmlWriter.writeAttribute(String,String,char[],int,int)but where is known not to require escaping. No validation needs to be performed.- Specified by:
writeTypedAttributein classXmlWriter- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeTypedAttribute
public void writeTypedAttribute(java.lang.String prefix, java.lang.String localName, org.codehaus.stax2.ri.typed.AsciiValueEncoder enc) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionDescription copied from class:XmlWriterMethod similar toXmlWriter.writeAttribute(String,String,char[],int,int)but where is known not to require escaping. No validation needs to be performed.- Specified by:
writeTypedAttributein classXmlWriter- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeTypedAttribute
public void writeTypedAttribute(java.lang.String prefix, java.lang.String localName, java.lang.String nsURI, org.codehaus.stax2.ri.typed.AsciiValueEncoder enc, org.codehaus.stax2.validation.XMLValidator validator, char[] copyBuffer) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionDescription copied from class:XmlWriterMethod similar toXmlWriter.writeAttribute(String,String,char[],int,int)but where is known not to require escaping. Validation of the attribute value must be done by calling given validator appropriately.- Specified by:
writeTypedAttributein classXmlWriter- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
flushBuffer
protected final void flushBuffer() throws java.io.IOException- Throws:
java.io.IOException
-
writeAscii
protected final void writeAscii(byte b) throws java.io.IOException- Throws:
java.io.IOException
-
writeAscii
protected final void writeAscii(byte b1, byte b2) throws java.io.IOException- Throws:
java.io.IOException
-
writeAscii
protected final void writeAscii(java.lang.String str) throws java.io.IOException- Throws:
java.io.IOException
-
writeRawAscii
public final void writeRawAscii(char[] buf, int offset, int len) throws java.io.IOExceptionDescription copied from class:XmlWriterLikeXmlWriter.writeRaw(java.lang.String, int, int), but caller guarantees that the contents additionally are known to be in 7-bit ascii range.- Specified by:
writeRawAsciiin classXmlWriter- Throws:
java.io.IOException
-
writeAsEntity
protected final int writeAsEntity(int c) throws java.io.IOExceptionEntity writing can be optimized quite nicely, since it only needs to output ascii characters.- Returns:
- New value of
mOutputPtr - Throws:
java.io.IOException
-
writeName
protected final void writeName(java.lang.String name) throws java.io.IOException, javax.xml.stream.XMLStreamException- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeNameUnchecked
protected final void writeNameUnchecked(java.lang.String name) throws java.io.IOException- Throws:
java.io.IOException
-
calcSurrogate
protected final int calcSurrogate(int secondSurr) throws java.io.IOException- Throws:
java.io.IOException
-
throwUnpairedSurrogate
protected final void throwUnpairedSurrogate() throws java.io.IOException- Throws:
java.io.IOException
-
throwUnpairedSurrogate
protected final void throwUnpairedSurrogate(int code) throws java.io.IOException- Throws:
java.io.IOException
-
writeAttrValue
protected abstract void writeAttrValue(java.lang.String data) throws java.io.IOException- Throws:
java.io.IOException
-
writeAttrValue
protected abstract void writeAttrValue(char[] value, int offset, int len) throws java.io.IOException- Throws:
java.io.IOException
-
writeCDataContent
protected abstract int writeCDataContent(java.lang.String data) throws java.io.IOException- Throws:
java.io.IOException
-
writeCDataContent
protected abstract int writeCDataContent(char[] cbuf, int start, int len) throws java.io.IOException- Throws:
java.io.IOException
-
writeCommentContent
protected abstract int writeCommentContent(java.lang.String data) throws java.io.IOException- Throws:
java.io.IOException
-
writePIData
protected abstract int writePIData(java.lang.String data) throws java.io.IOException, javax.xml.stream.XMLStreamException- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
writeTextContent
protected abstract void writeTextContent(java.lang.String data) throws java.io.IOException- Throws:
java.io.IOException
-
writeTextContent
protected abstract void writeTextContent(char[] cbuf, int start, int len) throws java.io.IOException- Throws:
java.io.IOException
-
-