com.fasterxml.aalto.out
Class SingleByteXmlWriter

java.lang.Object
  extended by com.fasterxml.aalto.out.WNameFactory
      extended by com.fasterxml.aalto.out.XmlWriter
          extended by com.fasterxml.aalto.out.ByteXmlWriter
              extended by 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
_out, _outputBuffer, _outputBufferLen, _outputPtr, mCharTypes, mCopyBuffer, mCopyBufferLen, mSurrogate
 
Fields inherited from class com.fasterxml.aalto.out.XmlWriter
ATTR_MIN_ARRAYCOPY, DEFAULT_COPYBUFFER_LEN, mCfgNsAware, mCheckContent, mCheckNames, MIN_ARRAYCOPY, mLocPastChars, mLocRowNr, mLocRowStartOffset, mXml11, SURR1_FIRST, SURR1_LAST, SURR2_FIRST, SURR2_LAST
 
Constructor Summary
SingleByteXmlWriter(WriterConfig cfg, OutputStream out, XmlCharTypes charTypes)
           
 
Method Summary
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SingleByteXmlWriter

public SingleByteXmlWriter(WriterConfig cfg,
                           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 class XmlWriter
Returns:
Character code of the highest character that can be natively encoded.

writeRaw

public abstract void writeRaw(char[] cbuf,
                              int offset,
                              int len)
                       throws IOException,
                              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 class ByteXmlWriter
Throws:
IOException
XMLStreamException

output2ByteChar

protected final void output2ByteChar(int ch)
                              throws IOException,
                                     XMLStreamException
Specified by:
output2ByteChar in class ByteXmlWriter
Throws:
IOException
XMLStreamException

outputStrictMultiByteChar

protected final int outputStrictMultiByteChar(int ch,
                                              char[] cbuf,
                                              int inputOffset,
                                              int inputLen)
                                       throws IOException,
                                              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 class ByteXmlWriter
Throws:
IOException
XMLStreamException

outputMultiByteChar

protected final int outputMultiByteChar(int ch,
                                        char[] cbuf,
                                        int inputOffset,
                                        int inputLen)
                                 throws IOException,
                                        XMLStreamException
This can be done, although only by using character entities.

Specified by:
outputMultiByteChar in class ByteXmlWriter
Throws:
IOException
XMLStreamException

outputSurrogates

protected final void outputSurrogates(int surr1,
                                      int surr2)
                               throws IOException,
                                      XMLStreamException
Description copied from class: ByteXmlWriter
Method called to output a composite character, result of combining 2 surrogate characters.

Specified by:
outputSurrogates in class ByteXmlWriter
Throws:
IOException
XMLStreamException


Copyright © 2012 Fasterxml.com. All Rights Reserved.