Package com.fasterxml.aalto.out
Class SingleByteXmlWriter
- java.lang.Object
-
- com.fasterxml.aalto.out.WNameFactory
-
- com.fasterxml.aalto.out.XmlWriter
-
- com.fasterxml.aalto.out.ByteXmlWriter
-
- com.fasterxml.aalto.out.SingleByteXmlWriter
-
- Direct Known Subclasses:
AsciiXmlWriter
,Latin1XmlWriter
public abstract class SingleByteXmlWriter extends ByteXmlWriter
This is the common base class for writers that output to byte-backed output sources, and use Ascii or ISO-8859-1 (Latin1) encoding.
-
-
Field Summary
-
Fields inherited from class com.fasterxml.aalto.out.ByteXmlWriter
_charTypes, _out, _outputBuffer, _outputBufferLen, _outputPtr, _surrogate, BYTE_A, BYTE_AMP, BYTE_APOS, BYTE_COLON, BYTE_EQ, BYTE_G, BYTE_GT, BYTE_HASH, BYTE_HYPHEN, BYTE_L, BYTE_LBRACKET, BYTE_LT, BYTE_M, BYTE_O, BYTE_P, BYTE_Q, BYTE_QMARK, BYTE_QUOT, BYTE_RBRACKET, BYTE_S, BYTE_SEMICOLON, BYTE_SLASH, BYTE_SPACE, BYTE_T, BYTE_U, BYTE_X, BYTES_CDATA_END, BYTES_CDATA_START, BYTES_COMMENT_END, BYTES_COMMENT_START, BYTES_XMLDECL_ENCODING, BYTES_XMLDECL_STANDALONE, BYTES_XMLDECL_START, DEFAULT_COPY_BUFFER_SIZE, DEFAULT_FULL_BUFFER_SIZE, SMALL_WRITE
-
Fields inherited from class com.fasterxml.aalto.out.XmlWriter
_cfgNsAware, _checkContent, _checkNames, _config, _copyBuffer, _copyBufferLen, _locPastChars, _locRowNr, _locRowStartOffset, _xml11, ATTR_MIN_ARRAYCOPY, DEFAULT_COPYBUFFER_LEN, MIN_ARRAYCOPY, SURR1_FIRST, SURR1_LAST, SURR2_FIRST, SURR2_LAST
-
-
Constructor Summary
Constructors Constructor Description SingleByteXmlWriter(WriterConfig cfg, java.io.OutputStream out, XmlCharTypes charTypes)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract int
getHighestEncodable()
Method called by error reporting code, to figure out if a given character is encodable (without using character entities) with the current encoding or not.protected void
output2ByteChar(int ch)
protected int
outputMultiByteChar(int ch, char[] cbuf, int inputOffset, int inputLen)
This can be done, although only by using character entities.protected int
outputStrictMultiByteChar(int ch, char[] cbuf, int inputOffset, int inputLen)
With single byte encodings, there's no way to express these characters without character entities.protected void
outputSurrogates(int surr1, int surr2)
Method called to output a composite character, result of combining 2 surrogate characters.abstract void
writeRaw(char[] cbuf, int offset, int len)
This method is heavily encoding-dependant, so it needs to be deferred to sub-classes-
Methods inherited from class com.fasterxml.aalto.out.ByteXmlWriter
_closeTarget, _releaseBuffers, calcSurrogate, constructName, constructName, doConstructName, doConstructName, fastWriteAttrValue, flush, flushBuffer, getAscii, getAscii, getAscii, getOutputPtr, throwUnpairedSurrogate, throwUnpairedSurrogate, verifyNameComponent, writeAsEntity, writeAttribute, writeAttribute, writeAttribute, writeAttrValue, writeCData, writeCData, writeCDataContents, writeCDataEnd, writeCDataStart, writeCharacters, writeCharacters, writeComment, writeCommentContents, writeCommentEnd, writeCommentStart, writeDTD, writeDTD, writeEndTag, writeEntityReference, writeLongAttribute, writeName, writeName, writeName, writePI, writePIData, writeRaw, writeRaw, writeRaw, writeRaw, writeRaw, writeSpace, writeSpace, writeStartTagEmptyEnd, writeStartTagEnd, writeStartTagStart, writeTypedValue, writeXmlDeclaration
-
Methods inherited from class com.fasterxml.aalto.out.XmlWriter
close, enableXml11, getAbsOffset, getColumn, getRow, guessEncodingBitSize, reportFailedEscaping, reportInvalidChar, reportInvalidEmptyName, reportNwfContent, reportNwfContent, reportNwfName, reportNwfName, throwOutputError, throwOutputError
-
-
-
-
Constructor Detail
-
SingleByteXmlWriter
public SingleByteXmlWriter(WriterConfig cfg, java.io.OutputStream out, XmlCharTypes charTypes)
-
-
Method Detail
-
getHighestEncodable
public abstract int getHighestEncodable()
Description copied from class:XmlWriter
Method called by error reporting code, to figure out if a given character is encodable (without using character entities) with the current encoding or not.- Specified by:
getHighestEncodable
in classXmlWriter
- Returns:
- Character code of the highest character that can be natively encoded.
-
writeRaw
public abstract void writeRaw(char[] cbuf, int offset, int len) throws java.io.IOException, javax.xml.stream.XMLStreamException
Description copied from class:ByteXmlWriter
This method is heavily encoding-dependant, so it needs to be deferred to sub-classes- Specified by:
writeRaw
in classByteXmlWriter
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
output2ByteChar
protected final void output2ByteChar(int ch) throws java.io.IOException, javax.xml.stream.XMLStreamException
- Specified by:
output2ByteChar
in classByteXmlWriter
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
outputStrictMultiByteChar
protected final int outputStrictMultiByteChar(int ch, char[] cbuf, int inputOffset, int inputLen) throws java.io.IOException, javax.xml.stream.XMLStreamException
With single byte encodings, there's no way to express these characters without character entities. So, this always leads to an exception- Specified by:
outputStrictMultiByteChar
in classByteXmlWriter
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
outputMultiByteChar
protected final int outputMultiByteChar(int ch, char[] cbuf, int inputOffset, int inputLen) throws java.io.IOException, javax.xml.stream.XMLStreamException
This can be done, although only by using character entities.- Specified by:
outputMultiByteChar
in classByteXmlWriter
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
outputSurrogates
protected final void outputSurrogates(int surr1, int surr2) throws java.io.IOException, javax.xml.stream.XMLStreamException
Description copied from class:ByteXmlWriter
Method called to output a composite character, result of combining 2 surrogate characters.- Specified by:
outputSurrogates
in classByteXmlWriter
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
-