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.
Reference to the source object, which can be used for displaying
Encoding used by the underlying stream, if known.
Flag that indicates whether underlying input/output source/target
object is fully managed by the owner of this context (parser or
generator). If true, it is, and is to be closed by parser/generator;
if false, calling application has to do closing (unless auto-closing
feature is enabled for the parser/generator in question; in which
case it acts like the owner).
Recycler used for actual allocation/deallocation/reuse
Reference to the allocated I/O buffer for low-level input reading,
if any allocated.
Reference to the allocated I/O buffer used for low-level
Reference to the buffer allocated for temporary use with
base64 encoding or decoding.
Reference to the buffer allocated for tokenization purposes,
in which character input is read, and from which it can be
Reference to the buffer allocated for buffering it for
output, before being encoded: generally this means concatenating
output, then encoding when buffer fills up.
Reference temporary buffer Parser instances need if calling
app decides it wants to access name via 'getTextCharacters' method.
Regular text buffer can not be used as it may contain textual
representation of the value token.
Note: the method can only be called once during its life cycle.
This is to protect against accidental sharing.
Method to call when all the processing buffers can be safely