Package com.fasterxml.jackson.core.io
Class UTF8Writer
- java.lang.Object
-
- java.io.Writer
-
- com.fasterxml.jackson.core.io.UTF8Writer
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.Appendable
,java.lang.AutoCloseable
public final class UTF8Writer extends java.io.Writer
-
-
Field Summary
Fields Modifier and Type Field Description private IOContext
_context
private java.io.OutputStream
_out
private byte[]
_outBuffer
private int
_outBufferEnd
private int
_outPtr
private int
_surrogate
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 Summary
Constructors Constructor Description UTF8Writer(IOContext ctxt, java.io.OutputStream out)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.io.Writer
append(char c)
void
close()
protected int
convertSurrogate(int secondPart)
Method called to calculate UTF codepoint, from a surrogate pair.void
flush()
protected static void
illegalSurrogate(int code)
protected static java.lang.String
illegalSurrogateDesc(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)
-
-
-
Field Detail
-
SURR1_FIRST
static final int SURR1_FIRST
- See Also:
- Constant Field Values
-
SURR1_LAST
static final int SURR1_LAST
- See Also:
- Constant Field Values
-
SURR2_FIRST
static final int SURR2_FIRST
- See Also:
- Constant Field Values
-
SURR2_LAST
static final int SURR2_LAST
- See Also:
- Constant Field Values
-
_context
private final IOContext _context
-
_out
private java.io.OutputStream _out
-
_outBuffer
private byte[] _outBuffer
-
_outBufferEnd
private final int _outBufferEnd
-
_outPtr
private int _outPtr
-
_surrogate
private int _surrogate
When outputting chars from BMP, surrogate pairs need to be coalesced. To do this, both pairs must be known first; and since it is possible pairs may be split, we need temporary storage for the first half
-
-
Constructor Detail
-
UTF8Writer
public UTF8Writer(IOContext ctxt, java.io.OutputStream out)
-
-
Method Detail
-
append
public java.io.Writer append(char c) throws java.io.IOException
- Specified by:
append
in interfacejava.lang.Appendable
- Overrides:
append
in classjava.io.Writer
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classjava.io.Writer
- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException
- Specified by:
flush
in interfacejava.io.Flushable
- Specified by:
flush
in classjava.io.Writer
- Throws:
java.io.IOException
-
write
public void write(char[] cbuf) throws java.io.IOException
- Overrides:
write
in classjava.io.Writer
- Throws:
java.io.IOException
-
write
public void write(char[] cbuf, int off, int len) throws java.io.IOException
- Specified by:
write
in classjava.io.Writer
- Throws:
java.io.IOException
-
write
public void write(int c) throws java.io.IOException
- Overrides:
write
in classjava.io.Writer
- Throws:
java.io.IOException
-
write
public void write(java.lang.String str) throws java.io.IOException
- Overrides:
write
in classjava.io.Writer
- Throws:
java.io.IOException
-
write
public void write(java.lang.String str, int off, int len) throws java.io.IOException
- Overrides:
write
in classjava.io.Writer
- Throws:
java.io.IOException
-
convertSurrogate
protected int convertSurrogate(int secondPart) throws java.io.IOException
Method called to calculate UTF codepoint, from a surrogate pair.- Throws:
java.io.IOException
-
illegalSurrogate
protected static void illegalSurrogate(int code) throws java.io.IOException
- Throws:
java.io.IOException
-
illegalSurrogateDesc
protected static java.lang.String illegalSurrogateDesc(int code)
-
-