public final class UTF8Writer extends java.io.Writer implements CompletelyCloseable
XmlWriter
.
The main reason for custom version is to allow for efficient
buffer recycling; the second benefit is that encoder has less
overhead for short content encoding (compared to JDK default
codecs).Modifier and Type | Field and Description |
---|---|
private static int |
DEFAULT_BUF_LEN |
(package private) boolean |
mAutoCloseOutput |
(package private) WriterConfig |
mConfig |
(package private) java.io.OutputStream |
mOut |
(package private) byte[] |
mOutBuffer |
(package private) int |
mOutBufferLast |
(package private) int |
mOutPtr |
(package private) int |
mSurrogate
When outputting chars from BMP, surrogate pairs need to be coalesced.
|
(package private) static int |
SURR1_FIRST |
(package private) static int |
SURR1_LAST |
(package private) static int |
SURR2_FIRST |
(package private) static int |
SURR2_LAST |
Constructor and Description |
---|
UTF8Writer(WriterConfig cfg,
java.io.OutputStream out,
boolean autoclose) |
Modifier and Type | Method and Description |
---|---|
private void |
_close(boolean forceClosing) |
private int |
_convertSurrogate(int secondPart)
Method called to calculate UTF codepoint, from a surrogate pair.
|
void |
close() |
void |
closeCompletely() |
void |
flush() |
private void |
throwIllegal(int code) |
void |
write(char[] cbuf) |
void |
write(char[] cbuf,
int off,
int len) |
void |
write(int c) |
void |
write(java.lang.String str) |
void |
write(java.lang.String str,
int off,
int len) |
private static final int DEFAULT_BUF_LEN
static final int SURR1_FIRST
static final int SURR1_LAST
static final int SURR2_FIRST
static final int SURR2_LAST
final WriterConfig mConfig
final boolean mAutoCloseOutput
final java.io.OutputStream mOut
byte[] mOutBuffer
final int mOutBufferLast
int mOutPtr
int mSurrogate
public UTF8Writer(WriterConfig cfg, java.io.OutputStream out, boolean autoclose)
public void closeCompletely() throws java.io.IOException
closeCompletely
in interface CompletelyCloseable
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.Writer
java.io.IOException
public void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in class java.io.Writer
java.io.IOException
public void write(char[] cbuf) throws java.io.IOException
write
in class java.io.Writer
java.io.IOException
public void write(char[] cbuf, int off, int len) throws java.io.IOException
write
in class java.io.Writer
java.io.IOException
public void write(int c) throws java.io.IOException
write
in class java.io.Writer
java.io.IOException
public void write(java.lang.String str) throws java.io.IOException
write
in class java.io.Writer
java.io.IOException
public void write(java.lang.String str, int off, int len) throws java.io.IOException
write
in class java.io.Writer
java.io.IOException
private final void _close(boolean forceClosing) throws java.io.IOException
java.io.IOException
private final int _convertSurrogate(int secondPart) throws java.io.IOException
java.io.IOException
private void throwIllegal(int code) throws java.io.IOException
java.io.IOException