Package com.fasterxml.jackson.core.io
Class IOContext
- java.lang.Object
-
- com.fasterxml.jackson.core.io.IOContext
-
public class IOContext extends java.lang.Object
To limit number of configuration and state objects to pass, all contextual objects that need to be passed by the factory to readers and writers are combined under this object. One instance is created for each reader and writer.NOTE: non-final since 2.4, to allow sub-classing.
-
-
Constructor Summary
Constructors Constructor Description IOContext(BufferRecycler br, ContentReference contentRef, boolean managedResource)
Main constructor to use.IOContext(BufferRecycler br, java.lang.Object rawContent, boolean managedResource)
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description byte[]
allocBase64Buffer()
Method for recycling or allocation byte buffer of "base 64 encode/decode" type.byte[]
allocBase64Buffer(int minSize)
Variant ofallocBase64Buffer()
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 ofallocReadIOBuffer()
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 ofallocWriteEncodingBuffer()
that specifies smallest acceptable buffer size.TextBuffer
constructTextBuffer()
ContentReference
contentReference()
Accessor for getting (some) information about input source, mostly usable for error reporting purposes.JsonEncoding
getEncoding()
java.lang.Object
getSourceReference()
Deprecated.Since 2.13, usecontentReference()
insteadboolean
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)
-
-
-
Constructor Detail
-
IOContext
public IOContext(BufferRecycler br, ContentReference contentRef, boolean managedResource)
Main constructor to use.- Parameters:
br
- BufferRecycler to use, if any (null
if none)contentRef
- Input source reference for location reportingmanagedResource
- Whether input source is managed (owned) by Jackson library- Since:
- 2.13
-
IOContext
@Deprecated public IOContext(BufferRecycler br, java.lang.Object rawContent, boolean managedResource)
Deprecated.
-
-
Method Detail
-
setEncoding
public void setEncoding(JsonEncoding enc)
-
withEncoding
public IOContext withEncoding(JsonEncoding enc)
-
getEncoding
public JsonEncoding getEncoding()
-
isResourceManaged
public boolean isResourceManaged()
-
contentReference
public ContentReference contentReference()
Accessor for getting (some) information about input source, mostly usable for error reporting purposes.- Returns:
- Reference to input source
- Since:
- 2.13
-
getSourceReference
@Deprecated public java.lang.Object getSourceReference()
Deprecated.Since 2.13, usecontentReference()
instead- Returns:
- "Raw" source reference
-
constructTextBuffer
public TextBuffer constructTextBuffer()
-
allocReadIOBuffer
public byte[] allocReadIOBuffer()
Method for recycling or allocation byte buffer of "read I/O" type.Note: the method can only be called once during its life cycle. This is to protect against accidental sharing.
- Returns:
- Allocated or recycled byte buffer
-
allocReadIOBuffer
public byte[] allocReadIOBuffer(int minSize)
Variant ofallocReadIOBuffer()
that specifies smallest acceptable buffer size.- Parameters:
minSize
- Minimum size of the buffer to recycle or allocate- Returns:
- Allocated or recycled byte buffer
- Since:
- 2.4
-
allocWriteEncodingBuffer
public byte[] allocWriteEncodingBuffer()
Method for recycling or allocation byte buffer of "write encoding" type.Note: the method can only be called once during its life cycle. This is to protect against accidental sharing.
- Returns:
- Allocated or recycled byte buffer
-
allocWriteEncodingBuffer
public byte[] allocWriteEncodingBuffer(int minSize)
Variant ofallocWriteEncodingBuffer()
that specifies smallest acceptable buffer size.- Parameters:
minSize
- Minimum size of the buffer to recycle or allocate- Returns:
- Allocated or recycled byte buffer
- Since:
- 2.4
-
allocBase64Buffer
public byte[] allocBase64Buffer()
Method for recycling or allocation byte buffer of "base 64 encode/decode" type.Note: the method can only be called once during its life cycle. This is to protect against accidental sharing.
- Returns:
- Allocated or recycled byte buffer
-
allocBase64Buffer
public byte[] allocBase64Buffer(int minSize)
Variant ofallocBase64Buffer()
that specifies smallest acceptable buffer size.- Parameters:
minSize
- Minimum size of the buffer to recycle or allocate- Returns:
- Allocated or recycled byte buffer
- Since:
- 2.9
-
allocTokenBuffer
public char[] allocTokenBuffer()
-
allocTokenBuffer
public char[] allocTokenBuffer(int minSize)
-
allocConcatBuffer
public char[] allocConcatBuffer()
-
allocNameCopyBuffer
public char[] allocNameCopyBuffer(int minSize)
-
releaseReadIOBuffer
public void releaseReadIOBuffer(byte[] buf)
Method to call when all the processing buffers can be safely recycled.- Parameters:
buf
- Buffer instance to release (return for recycling)
-
releaseWriteEncodingBuffer
public void releaseWriteEncodingBuffer(byte[] buf)
-
releaseBase64Buffer
public void releaseBase64Buffer(byte[] buf)
-
releaseTokenBuffer
public void releaseTokenBuffer(char[] buf)
-
releaseConcatBuffer
public void releaseConcatBuffer(char[] buf)
-
releaseNameCopyBuffer
public void releaseNameCopyBuffer(char[] buf)
-
-