com.fasterxml.jackson.core.io
Class UTF32Reader
java.lang.Object
java.io.Reader
com.fasterxml.jackson.core.io.UTF32Reader
- All Implemented Interfaces:
- Closeable, Readable
public final class UTF32Reader
- extends Reader
Since JDK does not come with UTF-32/UCS-4, let's implement a simple
decoder to use.
Method Summary |
void |
close()
|
void |
freeBuffers()
This method should be called along with (or instead of) normal
close. |
int |
read()
Although this method is implemented by the base class, AND it should
never be called by main code, let's still implement it bit more
efficiently just in case |
int |
read(char[] cbuf,
int start,
int len)
|
protected void |
reportBounds(char[] cbuf,
int start,
int len)
|
protected void |
reportStrangeStream()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LAST_VALID_UNICODE_CHAR
protected static final int LAST_VALID_UNICODE_CHAR
- JSON actually limits available Unicode range in the high end
to the same as xml (to basically limit UTF-8 max byte sequence
length to 4)
- See Also:
- Constant Field Values
NULL_CHAR
protected static final char NULL_CHAR
- See Also:
- Constant Field Values
NULL_BYTE
protected static final char NULL_BYTE
- See Also:
- Constant Field Values
_context
protected final IOContext _context
_in
protected InputStream _in
_buffer
protected byte[] _buffer
_ptr
protected int _ptr
_length
protected int _length
_tmpBuf
protected char[] _tmpBuf
UTF32Reader
public UTF32Reader(IOContext ctxt,
InputStream in,
byte[] buf,
int ptr,
int len,
boolean isBigEndian)
read
public int read(char[] cbuf,
int start,
int len)
throws IOException
- Specified by:
read
in class Reader
- Throws:
IOException
close
public void close()
throws IOException
- Specified by:
close
in interface Closeable
- Specified by:
close
in class Reader
- Throws:
IOException
read
public int read()
throws IOException
- Although this method is implemented by the base class, AND it should
never be called by main code, let's still implement it bit more
efficiently just in case
- Overrides:
read
in class Reader
- Throws:
IOException
freeBuffers
public final void freeBuffers()
- This method should be called along with (or instead of) normal
close. After calling this method, no further reads should be tried.
Method will try to recycle read buffers (if any).
reportBounds
protected void reportBounds(char[] cbuf,
int start,
int len)
throws IOException
- Throws:
IOException
reportStrangeStream
protected void reportStrangeStream()
throws IOException
- Throws:
IOException
Copyright © 2012 fasterxml.com. All Rights Reserved.