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 StreamReadConstraints |
_streamReadConstraints |
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()
Method for recycling or allocation byte buffer of "base 64 encode/decode" type.
|
byte[] |
allocBase64Buffer(int minSize)
Variant of
allocBase64Buffer() that specifies smallest acceptable
buffer size. |
char[] |
allocConcatBuffer() |
char[] |
allocNameCopyBuffer(int minSize) |
byte[] |
allocReadIOBuffer()
Method for recycling or allocation byte buffer of "read I/O" type.
|
byte[] |
allocReadIOBuffer(int minSize)
Variant of
allocReadIOBuffer() that specifies smallest acceptable
buffer size. |
char[] |
allocTokenBuffer() |
char[] |
allocTokenBuffer(int minSize) |
byte[] |
allocWriteEncodingBuffer()
Method for recycling or allocation byte buffer of "write encoding" type.
|
byte[] |
allocWriteEncodingBuffer(int minSize)
Variant of
allocWriteEncodingBuffer() that specifies smallest acceptable
buffer size. |
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) |
StreamReadConstraints |
streamReadConstraints() |
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
protected final StreamReadConstraints _streamReadConstraints
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 StreamReadConstraints streamReadConstraints()
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)
allocReadIOBuffer() that specifies smallest acceptable
buffer size.minSize - Minimum size of the buffer to recycle or allocatepublic byte[] allocWriteEncodingBuffer()
Note: the method can only be called once during its life cycle. This is to protect against accidental sharing.
public byte[] allocWriteEncodingBuffer(int minSize)
allocWriteEncodingBuffer() that specifies smallest acceptable
buffer size.minSize - Minimum size of the buffer to recycle or allocatepublic byte[] allocBase64Buffer()
Note: the method can only be called once during its life cycle. This is to protect against accidental sharing.
public byte[] allocBase64Buffer(int minSize)
allocBase64Buffer() that specifies smallest acceptable
buffer size.minSize - Minimum size of the buffer to recycle or allocatepublic char[] allocTokenBuffer()
public char[] allocTokenBuffer(int minSize)
public char[] allocConcatBuffer()
public char[] allocNameCopyBuffer(int minSize)
public void releaseReadIOBuffer(byte[] buf)
buf - Buffer instance to release (return for recycling)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 © 2025 JBoss by Red Hat. All rights reserved.