public class IOContext extends Object
NOTE: non-final since 2.4, to allow sub-classing.
Modifier and Type | Field and Description |
---|---|
protected byte[] |
_base64Buffer
Reference to the buffer allocated for temporary use with
base64 encoding or decoding.
|
protected BufferRecycler |
_bufferRecycler
Recycler used for actual allocation/deallocation/reuse
|
protected char[] |
_concatCBuffer
Reference to the buffer allocated for buffering it for
output, before being encoded: generally this means concatenating
output, then encoding when buffer fills up.
|
protected JsonEncoding |
_encoding
Encoding used by the underlying stream, if known.
|
protected boolean |
_managedResource
Flag that indicates whether underlying input/output source/target
object is fully managed by the owner of this context (parser or
generator).
|
protected char[] |
_nameCopyBuffer
Reference temporary buffer Parser instances need if calling
app decides it wants to access name via 'getTextCharacters' method.
|
protected byte[] |
_readIOBuffer
Reference to the allocated I/O buffer for low-level input reading,
if any allocated.
|
protected Object |
_sourceRef
Reference to the source object, which can be used for displaying
location information
|
protected char[] |
_tokenCBuffer
Reference to the buffer allocated for tokenization purposes,
in which character input is read, and from which it can be
further returned.
|
protected byte[] |
_writeEncodingBuffer
Reference to the allocated I/O buffer used for low-level
encoding-related buffering.
|
Constructor and Description |
---|
IOContext(BufferRecycler br,
Object sourceRef,
boolean managedResource) |
Modifier and Type | Method and Description |
---|---|
protected void |
_verifyAlloc(Object buffer) |
protected void |
_verifyRelease(byte[] toRelease,
byte[] src) |
protected void |
_verifyRelease(char[] toRelease,
char[] src) |
byte[] |
allocBase64Buffer() |
byte[] |
allocBase64Buffer(int minSize) |
char[] |
allocConcatBuffer() |
char[] |
allocNameCopyBuffer(int minSize) |
byte[] |
allocReadIOBuffer()
Note: the method can only be called once during its life cycle.
|
byte[] |
allocReadIOBuffer(int minSize) |
char[] |
allocTokenBuffer() |
char[] |
allocTokenBuffer(int minSize) |
byte[] |
allocWriteEncodingBuffer() |
byte[] |
allocWriteEncodingBuffer(int minSize) |
TextBuffer |
constructTextBuffer() |
JsonEncoding |
getEncoding() |
Object |
getSourceReference() |
boolean |
isResourceManaged() |
void |
releaseBase64Buffer(byte[] buf) |
void |
releaseConcatBuffer(char[] buf) |
void |
releaseNameCopyBuffer(char[] buf) |
void |
releaseReadIOBuffer(byte[] buf)
Method to call when all the processing buffers can be safely
recycled.
|
void |
releaseTokenBuffer(char[] buf) |
void |
releaseWriteEncodingBuffer(byte[] buf) |
void |
setEncoding(JsonEncoding enc) |
IOContext |
withEncoding(JsonEncoding enc) |
protected final Object _sourceRef
protected JsonEncoding _encoding
protected final boolean _managedResource
protected final BufferRecycler _bufferRecycler
protected byte[] _readIOBuffer
protected byte[] _writeEncodingBuffer
protected byte[] _base64Buffer
protected char[] _tokenCBuffer
protected char[] _concatCBuffer
protected char[] _nameCopyBuffer
public IOContext(BufferRecycler br, Object sourceRef, boolean managedResource)
public void setEncoding(JsonEncoding enc)
public IOContext withEncoding(JsonEncoding enc)
public Object getSourceReference()
public JsonEncoding getEncoding()
public boolean isResourceManaged()
public TextBuffer constructTextBuffer()
public byte[] allocReadIOBuffer()
Note: the method can only be called once during its life cycle. This is to protect against accidental sharing.
public byte[] allocReadIOBuffer(int minSize)
public byte[] allocWriteEncodingBuffer()
public byte[] allocWriteEncodingBuffer(int minSize)
public byte[] allocBase64Buffer()
public byte[] allocBase64Buffer(int minSize)
public char[] allocTokenBuffer()
public char[] allocTokenBuffer(int minSize)
public char[] allocConcatBuffer()
public char[] allocNameCopyBuffer(int minSize)
public void releaseReadIOBuffer(byte[] buf)
public void releaseWriteEncodingBuffer(byte[] buf)
public void releaseBase64Buffer(byte[] buf)
public void releaseTokenBuffer(char[] buf)
public void releaseConcatBuffer(char[] buf)
public void releaseNameCopyBuffer(char[] buf)
protected final void _verifyAlloc(Object buffer)
protected final void _verifyRelease(byte[] toRelease, byte[] src)
protected final void _verifyRelease(char[] toRelease, char[] src)
Copyright © 2008–2017 FasterXML. All rights reserved.