Package com.fasterxml.jackson.core.io
Class IOContext
- java.lang.Object
-
- com.fasterxml.jackson.core.io.IOContext
-
- All Implemented Interfaces:
java.lang.AutoCloseable
public class IOContext extends java.lang.Object implements java.lang.AutoCloseable
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(StreamReadConstraints src, StreamWriteConstraints swc, ErrorReportConfiguration erc, BufferRecycler br, ContentReference contentRef, boolean managedResource)
Main constructor to use.IOContext(StreamReadConstraints src, BufferRecycler br, ContentReference contentRef, boolean managedResource)
Deprecated.Since 2.16.IOContext(BufferRecycler br, ContentReference contentRef, boolean managedResource)
Deprecated.Since 2.15.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.void
close()
TextBuffer
constructReadConstrainedTextBuffer()
TextBuffer
constructTextBuffer()
ContentReference
contentReference()
Accessor for getting (some) information about input source, mostly usable for error reporting purposes.ErrorReportConfiguration
errorReportConfiguration()
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)
StreamReadConstraints
streamReadConstraints()
StreamWriteConstraints
streamWriteConstraints()
IOContext
withEncoding(JsonEncoding enc)
-
-
-
Constructor Detail
-
IOContext
public IOContext(StreamReadConstraints src, StreamWriteConstraints swc, ErrorReportConfiguration erc, BufferRecycler br, ContentReference contentRef, boolean managedResource)
Main constructor to use.- Parameters:
src
- constraints for streaming readsswc
- constraints for streaming writesbr
- BufferRecycler to use, if any (null
if none)contentRef
- Input source reference for location reportingmanagedResource
- Whether input source is managed (owned) by Jackson libraryerc
- Error report configuration to use- Since:
- 2.16
-
IOContext
@Deprecated public IOContext(StreamReadConstraints src, BufferRecycler br, ContentReference contentRef, boolean managedResource)
Deprecated.Deprecated legacy constructor.- Parameters:
src
- constraints for streaming readsbr
- 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.15
-
IOContext
@Deprecated public IOContext(BufferRecycler br, ContentReference contentRef, boolean managedResource)
Deprecated.Deprecated legacy constructor.- 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
-
streamReadConstraints
public StreamReadConstraints streamReadConstraints()
- Returns:
- constraints for streaming reads
- Since:
- 2.15
-
streamWriteConstraints
public StreamWriteConstraints streamWriteConstraints()
- Returns:
- constraints for streaming writes
- Since:
- 2.16
-
errorReportConfiguration
public ErrorReportConfiguration errorReportConfiguration()
- Returns:
- Configured
ErrorReportConfiguration
, containing configured values for handling error reporting. - Since:
- 2.16
-
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()
-
constructReadConstrainedTextBuffer
public TextBuffer constructReadConstrainedTextBuffer()
-
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)
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
-
-