Package com.fasterxml.aalto.out
Class Utf8XmlWriter
java.lang.Object
com.fasterxml.aalto.out.WNameFactory
com.fasterxml.aalto.out.XmlWriter
com.fasterxml.aalto.out.ByteXmlWriter
com.fasterxml.aalto.out.Utf8XmlWriter
This is the generic implementation of
XmlWriter
, used if
the destination is byte-based OutputStream
, and
encoding is UTF-8.-
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 -
Method Summary
Modifier and TypeMethodDescriptionprotected WName
doConstructName
(String localName) protected WName
doConstructName
(String prefix, String localName) int
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 final void
output2ByteChar
(int ch) protected final int
outputMultiByteChar
(int ch, char[] cbuf, int inputOffset, int inputLen) Method called to output a character that is beyond range of 1- and 2-byte UTF-8 encodings.protected final int
outputStrictMultiByteChar
(int ch, char[] cbuf, int inputOffset, int inputLen) Method called to output a character beyond basic 1- or 2-byte encoding (code 0x0800 and above), without being able to use character entitiesprotected final void
outputSurrogates
(int surr1, int surr2) Method called to output a composite character, result of combining 2 surrogate characters.void
writeRaw
(char[] cbuf, int offset, int len) This method is heavily encoding-dependant, so it needs to be deferred to sub-classesMethods inherited from class com.fasterxml.aalto.out.ByteXmlWriter
_closeTarget, _releaseBuffers, calcSurrogate, constructName, constructName, 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 Details
-
Utf8XmlWriter
-
-
Method Details
-
getHighestEncodable
public 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
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:
IOException
XMLStreamException
-
doConstructName
- Specified by:
doConstructName
in classByteXmlWriter
- Throws:
XMLStreamException
-
doConstructName
- Specified by:
doConstructName
in classByteXmlWriter
- Throws:
XMLStreamException
-
outputSurrogates
Description copied from class:ByteXmlWriter
Method called to output a composite character, result of combining 2 surrogate characters.- Specified by:
outputSurrogates
in classByteXmlWriter
- Throws:
IOException
XMLStreamException
-
output2ByteChar
- Specified by:
output2ByteChar
in classByteXmlWriter
- Throws:
IOException
XMLStreamException
-
outputMultiByteChar
protected final int outputMultiByteChar(int ch, char[] cbuf, int inputOffset, int inputLen) throws IOException, XMLStreamException Method called to output a character that is beyond range of 1- and 2-byte UTF-8 encodings. This means it's either invalid character, or needs to be encoded using 3- or 4-byte encoding.- Specified by:
outputMultiByteChar
in classByteXmlWriter
- Parameters:
inputOffset
- Input pointer after character has been handled; either same as one passed in, or one more if a surrogate character was succesfully handled- Throws:
IOException
XMLStreamException
-
outputStrictMultiByteChar
protected final int outputStrictMultiByteChar(int ch, char[] cbuf, int inputOffset, int inputLen) throws IOException, XMLStreamException Description copied from class:ByteXmlWriter
Method called to output a character beyond basic 1- or 2-byte encoding (code 0x0800 and above), without being able to use character entities- Specified by:
outputStrictMultiByteChar
in classByteXmlWriter
- Throws:
IOException
XMLStreamException
-