Class CBORGenerator

  • All Implemented Interfaces:
    com.fasterxml.jackson.core.Versioned, java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

    public class CBORGenerator
    extends com.fasterxml.jackson.core.base.GeneratorBase
    JsonGenerator implementation that writes CBOR encoded content.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  CBORGenerator.Feature
      Enumeration that defines all togglable features for CBOR generator.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean _bufferRecyclable
      Flag that indicates whether the output buffer is recycable (and needs to be returned to recycler once we are done) or not.
      protected int _bytesWritten
      Let's keep track of how many bytes have been output, may prove useful when debugging.
      protected boolean _cfgMinimalDoubles  
      protected boolean _cfgMinimalInts  
      protected char[] _charBuffer
      Intermediate buffer in which characters of a String are copied before being encoded.
      protected int _charBufferLength  
      protected int _currentRemainingElements
      Number of elements remaining in the current complex structure (if any), when writing defined-length Arrays, Objects; marker {code INDEFINITE_LENGTH} otherwise.
      protected int[] _elementCounts  
      protected int _elementCountsPtr  
      protected int _formatFeatures
      Bit flag composed of bits that indicate which CBORGenerator.Features are enabled.
      protected java.io.OutputStream _out  
      protected byte[] _outputBuffer
      Intermediate buffer in which contents are buffered before being written using _out.
      protected int _outputEnd
      Offset to index after the last valid index in _outputBuffer.
      protected int _outputTail
      Pointer to the next available byte in _outputBuffer
      protected com.fasterxml.jackson.core.StreamWriteConstraints _streamWriteConstraints  
      protected CBORWriteContext _streamWriteContext  
      protected java.util.HashMap<java.lang.Object,​java.lang.Integer> _stringRefs
      Table of previously referenced text and binary strings when the STRINGREF feature is used.
      protected static int BYTE_BUFFER_FOR_OUTPUT
      Let's ensure that we have big enough output buffer because of safety margins we need for UTF-8 encoding.
      private static int INDEFINITE_LENGTH
      Special value that is use to keep tracks of arrays and maps opened with infinite length
      private static int MAX_LONG_STRING_BYTES
      This is the worst case length (in bytes) of maximum chunk we ever write.
      private static int MAX_LONG_STRING_CHARS
      Longest char chunk we will output is chosen so that it is guaranteed to fit in an empty buffer even if everything encoded in 3-byte sequences; but also fit two full chunks in case of single-byte (ascii) output.
      private static int MAX_MEDIUM_STRING_BYTES  
      private static int MAX_MEDIUM_STRING_CHARS  
      private static int MAX_SHORT_STRING_BYTES  
      private static int MAX_SHORT_STRING_CHARS  
      private static int MIN_BUFFER_LENGTH
      To simplify certain operations, we require output buffer length to allow outputting of contiguous 256 character UTF-8 encoded String value.
      private static int[] NO_INTS  
      protected static int REPLACEMENT_CHAR
      The replacement character to use to fix invalid Unicode sequences (mismatched surrogate pair).
      • Fields inherited from class com.fasterxml.jackson.core.base.GeneratorBase

        _cfgNumbersAsStrings, _closed, _features, _ioContext, _objectCodec, _writeContext, DERIVED_FEATURES_MASK, MAX_BIG_DECIMAL_SCALE, SURR1_FIRST, SURR1_LAST, SURR2_FIRST, SURR2_LAST, WRITE_BINARY, WRITE_BOOLEAN, WRITE_NULL, WRITE_NUMBER, WRITE_RAW, WRITE_STRING
      • Fields inherited from class com.fasterxml.jackson.core.JsonGenerator

        _cfgPrettyPrinter, DEFAULT_BINARY_WRITE_CAPABILITIES, DEFAULT_TEXTUAL_WRITE_CAPABILITIES, DEFAULT_WRITE_CAPABILITIES
    • Constructor Summary

      Constructors 
      Constructor Description
      CBORGenerator​(com.fasterxml.jackson.core.io.IOContext ioCtxt, int stdFeatures, int formatFeatures, com.fasterxml.jackson.core.ObjectCodec codec, java.io.OutputStream out)  
      CBORGenerator​(com.fasterxml.jackson.core.io.IOContext ioCtxt, int stdFeatures, int formatFeatures, com.fasterxml.jackson.core.ObjectCodec codec, java.io.OutputStream out, byte[] outputBuffer, int offset, boolean bufferRecyclable)
      Alternative constructor that may be used to feed partially initialized content.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      private int _appendReplacementChar​(byte[] outBuf, int outputPtr)  
      private int _decodeAndWriteSurrogate​(int surr1, int surr2, byte[] outBuf, int outputPtr)  
      private int _encode​(int outputPtr, char[] str, int i, int end)
      Helper method called when the whole character sequence is known to fit in the output buffer regardless of UTF-8 expansion.
      private int _encode​(int outputPtr, java.lang.String str, int len)  
      private int _encode2​(int i, int outputPtr, java.lang.String str, int len, int outputStart)  
      private void _ensureRoomForOutput​(int needed)  
      protected void _ensureSpace​(int needed)  
      private void _failSizedArrayOrObject()  
      protected void _flushBuffer()  
      private int _invalidSurrogateEnd​(int surr1, int surr2, byte[] outBuf, int outputPtr)  
      private int _invalidSurrogateStart​(int code, byte[] outBuf, int outputPtr)  
      protected java.lang.UnsupportedOperationException _notSupported()  
      private void _pushRemainingElements()  
      protected void _releaseBuffers()  
      private int _shortUTF8Encode2​(char[] str, int i, int end, int outputPtr, int outputStart)
      Helper method called when the whole character sequence is known to fit in the output buffer, but not all characters are single-byte (ASCII) characters.
      protected void _verifyValueWrite​(java.lang.String typeMsg)  
      protected void _write​(java.math.BigInteger v)  
      private void _writeByte​(byte b)  
      private void _writeBytes​(byte[] data, int offset, int len)  
      private int _writeBytes​(java.io.InputStream in, int bytesLeft)  
      private void _writeBytesLong​(byte[] data, int offset, int len)  
      protected void _writeChunkedString​(char[] text, int offset, int len)  
      private void _writeDoubleMinimal​(double d)  
      private void _writeDoubleNoCheck​(double d)  
      private void _writeFloatNoCheck​(float f)  
      private void _writeIntFull​(int markerBase, int i)  
      private void _writeIntMinimal​(int markerBase, int i)  
      private void _writeIntValue​(int i)  
      private void _writeLengthMarker​(int majorType, int i)  
      private void _writeLongNoCheck​(long l)  
      private void _writeLongValue​(long l)  
      protected int _writeString​(char[] text, int offset, int len)  
      protected void _writeString​(java.lang.String name)  
      void assignCurrentValue​(java.lang.Object v)  
      boolean canWriteBinaryNatively()  
      void close()  
      private void closeComplexElement()  
      CBORGenerator configure​(CBORGenerator.Feature f, boolean state)  
      java.lang.Object currentValue()  
      CBORGenerator disable​(CBORGenerator.Feature f)  
      CBORGenerator enable​(CBORGenerator.Feature f)  
      void flush()  
      java.lang.Object getCurrentValue()
      Deprecated.
      int getFormatFeatures()  
      int getOutputBuffered()  
      com.fasterxml.jackson.core.JsonStreamContext getOutputContext()  
      java.lang.Object getOutputTarget()  
      com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamWriteCapability> getWriteCapabilities()  
      boolean isEnabled​(CBORGenerator.Feature f)  
      com.fasterxml.jackson.core.JsonGenerator overrideFormatFeatures​(int values, int mask)  
      com.fasterxml.jackson.core.JsonGenerator overrideStdFeatures​(int values, int mask)  
      void setCurrentValue​(java.lang.Object v)
      Deprecated.
      com.fasterxml.jackson.core.JsonGenerator setPrettyPrinter​(com.fasterxml.jackson.core.PrettyPrinter pp)
      No way (or need) to indent anything, so let's block any attempts.
      com.fasterxml.jackson.core.StreamWriteConstraints streamWriteConstraints()  
      com.fasterxml.jackson.core.JsonGenerator useDefaultPrettyPrinter()
      No way (or need) to indent anything, so let's block any attempts.
      com.fasterxml.jackson.core.Version version()  
      void writeArray​(double[] array, int offset, int length)  
      void writeArray​(int[] array, int offset, int length)  
      void writeArray​(long[] array, int offset, int length)  
      void writeBinary​(com.fasterxml.jackson.core.Base64Variant b64variant, byte[] data, int offset, int len)  
      int writeBinary​(com.fasterxml.jackson.core.Base64Variant b64variant, java.io.InputStream data, int dataLength)  
      int writeBinary​(java.io.InputStream data, int dataLength)  
      void writeBoolean​(boolean state)  
      void writeBytes​(byte[] data, int offset, int len)
      Method for directly inserting specified bytes in output at current position.
      void writeEndArray()  
      void writeEndObject()  
      void writeFieldId​(long id)  
      void writeFieldName​(com.fasterxml.jackson.core.SerializableString name)  
      void writeFieldName​(java.lang.String name)  
      void writeNull()  
      void writeNumber​(double d)  
      void writeNumber​(float f)  
      void writeNumber​(int i)  
      void writeNumber​(long l)  
      void writeNumber​(java.lang.String encodedValue)  
      void writeNumber​(java.math.BigDecimal dec)  
      void writeNumber​(java.math.BigInteger v)  
      void writeRaw​(byte b)
      Method for directly inserting specified byte in output at current position.
      void writeRaw​(char c)  
      void writeRaw​(char[] text, int offset, int len)  
      void writeRaw​(java.lang.String text)  
      void writeRaw​(java.lang.String text, int offset, int len)  
      void writeRawUTF8String​(byte[] raw, int offset, int len)  
      void writeRawValue​(char[] text, int offset, int len)  
      void writeRawValue​(java.lang.String text)  
      void writeRawValue​(java.lang.String text, int offset, int len)  
      void writeStartArray()  
      void writeStartArray​(int elementsToWrite)
      Deprecated.
      void writeStartArray​(java.lang.Object forValue)  
      void writeStartArray​(java.lang.Object forValue, int elementsToWrite)  
      void writeStartObject()  
      void writeStartObject​(int elementsToWrite)  
      void writeStartObject​(java.lang.Object forValue)  
      void writeStartObject​(java.lang.Object forValue, int elementsToWrite)  
      void writeString​(char[] text, int offset, int len)  
      void writeString​(com.fasterxml.jackson.core.SerializableString sstr)  
      void writeString​(java.lang.String text)  
      void writeTag​(int tagId)
      Method for writing out an explicit CBOR Tag.
      void writeUTF8String​(byte[] text, int offset, int len)  
      • Methods inherited from class com.fasterxml.jackson.core.base.GeneratorBase

        _asString, _checkRangeBoundsForByteArray, _checkRangeBoundsForCharArray, _checkRangeBoundsForString, _checkStdFeatureChanges, _constructDefaultPrettyPrinter, _decodeSurrogate, disable, enable, getCodec, getFeatureMask, ioContext, isClosed, isEnabled, setCodec, setFeatureMask, writeObject, writeRawValue, writeTree
      • Methods inherited from class com.fasterxml.jackson.core.JsonGenerator

        _constructWriteException, _constructWriteException, _constructWriteException, _constructWriteException, _copyCurrentContents, _copyCurrentFloatValue, _copyCurrentFloatValueExact, _copyCurrentIntValue, _copyCurrentStringValue, _reportError, _reportUnsupportedOperation, _reportUnsupportedOperation, _throwInternal, _verifyOffsets, _writeSimpleObject, canOmitFields, canUseSchema, canWriteFormattedNumbers, canWriteObjectId, canWriteTypeId, configure, copyCurrentEvent, copyCurrentEventExact, copyCurrentStructure, getCharacterEscapes, getHighestEscapedChar, getPrettyPrinter, getSchema, isEnabled, setCharacterEscapes, setHighestNonEscapedChar, setRootValueSeparator, setSchema, writeArray, writeArrayFieldStart, writeBinary, writeBinary, writeBinaryField, writeBooleanField, writeEmbeddedObject, writeNullField, writeNumber, writeNumber, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeObjectField, writeObjectFieldStart, writeObjectId, writeObjectRef, writeOmittedField, writePOJO, writePOJOField, writeRaw, writeString, writeStringField, writeTypeId, writeTypePrefix, writeTypeSuffix
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NO_INTS

        private static final int[] NO_INTS
      • BYTE_BUFFER_FOR_OUTPUT

        protected static final int BYTE_BUFFER_FOR_OUTPUT
        Let's ensure that we have big enough output buffer because of safety margins we need for UTF-8 encoding.
        See Also:
        Constant Field Values
      • REPLACEMENT_CHAR

        protected static final int REPLACEMENT_CHAR
        The replacement character to use to fix invalid Unicode sequences (mismatched surrogate pair).
        Since:
        2.12
        See Also:
        Constant Field Values
      • MAX_LONG_STRING_CHARS

        private static final int MAX_LONG_STRING_CHARS
        Longest char chunk we will output is chosen so that it is guaranteed to fit in an empty buffer even if everything encoded in 3-byte sequences; but also fit two full chunks in case of single-byte (ascii) output.
        See Also:
        Constant Field Values
      • MAX_LONG_STRING_BYTES

        private static final int MAX_LONG_STRING_BYTES
        This is the worst case length (in bytes) of maximum chunk we ever write.
        See Also:
        Constant Field Values
      • MIN_BUFFER_LENGTH

        private static final int MIN_BUFFER_LENGTH
        To simplify certain operations, we require output buffer length to allow outputting of contiguous 256 character UTF-8 encoded String value. Length of the longest UTF-8 code point (from Java char) is 3 bytes, and we need both initial token byte and single-byte end marker so we get following value.

        Note: actually we could live with shorter one; absolute minimum would be for encoding 64-character Strings.

        See Also:
        Constant Field Values
      • INDEFINITE_LENGTH

        private static final int INDEFINITE_LENGTH
        Special value that is use to keep tracks of arrays and maps opened with infinite length
        See Also:
        Constant Field Values
      • _streamWriteConstraints

        protected final com.fasterxml.jackson.core.StreamWriteConstraints _streamWriteConstraints
        Since:
        2.16
      • _out

        protected final java.io.OutputStream _out
      • _formatFeatures

        protected int _formatFeatures
        Bit flag composed of bits that indicate which CBORGenerator.Features are enabled.
      • _cfgMinimalInts

        protected boolean _cfgMinimalInts
      • _cfgMinimalDoubles

        protected boolean _cfgMinimalDoubles
      • _outputBuffer

        protected byte[] _outputBuffer
        Intermediate buffer in which contents are buffered before being written using _out.
      • _outputTail

        protected int _outputTail
        Pointer to the next available byte in _outputBuffer
      • _outputEnd

        protected final int _outputEnd
        Offset to index after the last valid index in _outputBuffer. Typically same as length of the buffer.
      • _charBuffer

        protected char[] _charBuffer
        Intermediate buffer in which characters of a String are copied before being encoded.
      • _charBufferLength

        protected final int _charBufferLength
      • _bytesWritten

        protected int _bytesWritten
        Let's keep track of how many bytes have been output, may prove useful when debugging. This does not include bytes buffered in the output buffer, just bytes that have been written using underlying stream writer.
      • _elementCounts

        protected int[] _elementCounts
      • _elementCountsPtr

        protected int _elementCountsPtr
      • _currentRemainingElements

        protected int _currentRemainingElements
        Number of elements remaining in the current complex structure (if any), when writing defined-length Arrays, Objects; marker {code INDEFINITE_LENGTH} otherwise.
      • _bufferRecyclable

        protected boolean _bufferRecyclable
        Flag that indicates whether the output buffer is recycable (and needs to be returned to recycler once we are done) or not.
      • _stringRefs

        protected java.util.HashMap<java.lang.Object,​java.lang.Integer> _stringRefs
        Table of previously referenced text and binary strings when the STRINGREF feature is used.
        Since:
        2.15
      • MAX_SHORT_STRING_CHARS

        private static final int MAX_SHORT_STRING_CHARS
        See Also:
        Constant Field Values
      • MAX_SHORT_STRING_BYTES

        private static final int MAX_SHORT_STRING_BYTES
        See Also:
        Constant Field Values
      • MAX_MEDIUM_STRING_CHARS

        private static final int MAX_MEDIUM_STRING_CHARS
        See Also:
        Constant Field Values
      • MAX_MEDIUM_STRING_BYTES

        private static final int MAX_MEDIUM_STRING_BYTES
        See Also:
        Constant Field Values
    • Constructor Detail

      • CBORGenerator

        public CBORGenerator​(com.fasterxml.jackson.core.io.IOContext ioCtxt,
                             int stdFeatures,
                             int formatFeatures,
                             com.fasterxml.jackson.core.ObjectCodec codec,
                             java.io.OutputStream out)
      • CBORGenerator

        public CBORGenerator​(com.fasterxml.jackson.core.io.IOContext ioCtxt,
                             int stdFeatures,
                             int formatFeatures,
                             com.fasterxml.jackson.core.ObjectCodec codec,
                             java.io.OutputStream out,
                             byte[] outputBuffer,
                             int offset,
                             boolean bufferRecyclable)
        Alternative constructor that may be used to feed partially initialized content.
        Parameters:
        outputBuffer - Buffer to use for output before flushing to the underlying stream
        offset - Offset pointing past already buffered content; that is, number of bytes of valid content to output, within buffer.
    • Method Detail

      • version

        public com.fasterxml.jackson.core.Version version()
        Specified by:
        version in interface com.fasterxml.jackson.core.Versioned
        Overrides:
        version in class com.fasterxml.jackson.core.base.GeneratorBase
      • canWriteBinaryNatively

        public boolean canWriteBinaryNatively()
        Overrides:
        canWriteBinaryNatively in class com.fasterxml.jackson.core.JsonGenerator
      • getWriteCapabilities

        public com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamWriteCapability> getWriteCapabilities()
        Overrides:
        getWriteCapabilities in class com.fasterxml.jackson.core.JsonGenerator
      • streamWriteConstraints

        public com.fasterxml.jackson.core.StreamWriteConstraints streamWriteConstraints()
        Overrides:
        streamWriteConstraints in class com.fasterxml.jackson.core.JsonGenerator
      • useDefaultPrettyPrinter

        public com.fasterxml.jackson.core.JsonGenerator useDefaultPrettyPrinter()
        No way (or need) to indent anything, so let's block any attempts. (should we throw an exception instead?)
        Overrides:
        useDefaultPrettyPrinter in class com.fasterxml.jackson.core.base.GeneratorBase
      • setPrettyPrinter

        public com.fasterxml.jackson.core.JsonGenerator setPrettyPrinter​(com.fasterxml.jackson.core.PrettyPrinter pp)
        No way (or need) to indent anything, so let's block any attempts. (should we throw an exception instead?)
        Overrides:
        setPrettyPrinter in class com.fasterxml.jackson.core.JsonGenerator
      • getOutputTarget

        public java.lang.Object getOutputTarget()
        Overrides:
        getOutputTarget in class com.fasterxml.jackson.core.JsonGenerator
      • getOutputBuffered

        public int getOutputBuffered()
        Overrides:
        getOutputBuffered in class com.fasterxml.jackson.core.JsonGenerator
      • getFormatFeatures

        public int getFormatFeatures()
        Overrides:
        getFormatFeatures in class com.fasterxml.jackson.core.JsonGenerator
      • overrideStdFeatures

        public com.fasterxml.jackson.core.JsonGenerator overrideStdFeatures​(int values,
                                                                            int mask)
        Overrides:
        overrideStdFeatures in class com.fasterxml.jackson.core.base.GeneratorBase
      • overrideFormatFeatures

        public com.fasterxml.jackson.core.JsonGenerator overrideFormatFeatures​(int values,
                                                                               int mask)
        Overrides:
        overrideFormatFeatures in class com.fasterxml.jackson.core.JsonGenerator
      • getOutputContext

        public com.fasterxml.jackson.core.JsonStreamContext getOutputContext()
        Overrides:
        getOutputContext in class com.fasterxml.jackson.core.base.GeneratorBase
      • currentValue

        public java.lang.Object currentValue()
        Overrides:
        currentValue in class com.fasterxml.jackson.core.base.GeneratorBase
      • assignCurrentValue

        public void assignCurrentValue​(java.lang.Object v)
        Overrides:
        assignCurrentValue in class com.fasterxml.jackson.core.base.GeneratorBase
      • getCurrentValue

        @Deprecated
        public java.lang.Object getCurrentValue()
        Deprecated.
        Overrides:
        getCurrentValue in class com.fasterxml.jackson.core.JsonGenerator
      • setCurrentValue

        @Deprecated
        public void setCurrentValue​(java.lang.Object v)
        Deprecated.
        Overrides:
        setCurrentValue in class com.fasterxml.jackson.core.JsonGenerator
      • writeFieldName

        public final void writeFieldName​(java.lang.String name)
                                  throws java.io.IOException
        Specified by:
        writeFieldName in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeFieldName

        public final void writeFieldName​(com.fasterxml.jackson.core.SerializableString name)
                                  throws java.io.IOException
        Overrides:
        writeFieldName in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeFieldId

        public final void writeFieldId​(long id)
                                throws java.io.IOException
        Overrides:
        writeFieldId in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeStartArray

        public final void writeStartArray()
                                   throws java.io.IOException
        Specified by:
        writeStartArray in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeStartArray

        public void writeStartArray​(java.lang.Object forValue)
                             throws java.io.IOException
        Overrides:
        writeStartArray in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeStartArray

        public void writeStartArray​(java.lang.Object forValue,
                                    int elementsToWrite)
                             throws java.io.IOException
        Overrides:
        writeStartArray in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeStartArray

        @Deprecated
        public void writeStartArray​(int elementsToWrite)
                             throws java.io.IOException
        Deprecated.
        Overrides:
        writeStartArray in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeEndArray

        public final void writeEndArray()
                                 throws java.io.IOException
        Specified by:
        writeEndArray in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeStartObject

        public final void writeStartObject()
                                    throws java.io.IOException
        Specified by:
        writeStartObject in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeStartObject

        public final void writeStartObject​(java.lang.Object forValue)
                                    throws java.io.IOException
        Overrides:
        writeStartObject in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeStartObject

        public final void writeStartObject​(int elementsToWrite)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • writeStartObject

        public void writeStartObject​(java.lang.Object forValue,
                                     int elementsToWrite)
                              throws java.io.IOException
        Overrides:
        writeStartObject in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeEndObject

        public final void writeEndObject()
                                  throws java.io.IOException
        Specified by:
        writeEndObject in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeArray

        public void writeArray​(int[] array,
                               int offset,
                               int length)
                        throws java.io.IOException
        Overrides:
        writeArray in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeArray

        public void writeArray​(long[] array,
                               int offset,
                               int length)
                        throws java.io.IOException
        Overrides:
        writeArray in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeArray

        public void writeArray​(double[] array,
                               int offset,
                               int length)
                        throws java.io.IOException
        Overrides:
        writeArray in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • _pushRemainingElements

        private final void _pushRemainingElements()
      • _writeIntMinimal

        private final void _writeIntMinimal​(int markerBase,
                                            int i)
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeIntFull

        private final void _writeIntFull​(int markerBase,
                                         int i)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeLongNoCheck

        private final void _writeLongNoCheck​(long l)
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeFloatNoCheck

        private final void _writeFloatNoCheck​(float f)
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeDoubleNoCheck

        private final void _writeDoubleNoCheck​(double d)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeDoubleMinimal

        private final void _writeDoubleMinimal​(double d)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • writeString

        public void writeString​(java.lang.String text)
                         throws java.io.IOException
        Specified by:
        writeString in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeString

        public final void writeString​(com.fasterxml.jackson.core.SerializableString sstr)
                               throws java.io.IOException
        Overrides:
        writeString in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeString

        public void writeString​(char[] text,
                                int offset,
                                int len)
                         throws java.io.IOException
        Specified by:
        writeString in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeRawUTF8String

        public void writeRawUTF8String​(byte[] raw,
                                       int offset,
                                       int len)
                                throws java.io.IOException
        Specified by:
        writeRawUTF8String in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeUTF8String

        public final void writeUTF8String​(byte[] text,
                                          int offset,
                                          int len)
                                   throws java.io.IOException
        Specified by:
        writeUTF8String in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeRaw

        public void writeRaw​(java.lang.String text)
                      throws java.io.IOException
        Specified by:
        writeRaw in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeRaw

        public void writeRaw​(java.lang.String text,
                             int offset,
                             int len)
                      throws java.io.IOException
        Specified by:
        writeRaw in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeRaw

        public void writeRaw​(char[] text,
                             int offset,
                             int len)
                      throws java.io.IOException
        Specified by:
        writeRaw in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeRaw

        public void writeRaw​(char c)
                      throws java.io.IOException
        Specified by:
        writeRaw in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeRawValue

        public void writeRawValue​(java.lang.String text)
                           throws java.io.IOException
        Overrides:
        writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeRawValue

        public void writeRawValue​(java.lang.String text,
                                  int offset,
                                  int len)
                           throws java.io.IOException
        Overrides:
        writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeRawValue

        public void writeRawValue​(char[] text,
                                  int offset,
                                  int len)
                           throws java.io.IOException
        Overrides:
        writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeBinary

        public void writeBinary​(com.fasterxml.jackson.core.Base64Variant b64variant,
                                byte[] data,
                                int offset,
                                int len)
                         throws java.io.IOException
        Specified by:
        writeBinary in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeBinary

        public int writeBinary​(java.io.InputStream data,
                               int dataLength)
                        throws java.io.IOException
        Overrides:
        writeBinary in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeBinary

        public int writeBinary​(com.fasterxml.jackson.core.Base64Variant b64variant,
                               java.io.InputStream data,
                               int dataLength)
                        throws java.io.IOException
        Overrides:
        writeBinary in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeBoolean

        public void writeBoolean​(boolean state)
                          throws java.io.IOException
        Specified by:
        writeBoolean in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNull

        public void writeNull()
                       throws java.io.IOException
        Specified by:
        writeNull in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(int i)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(long l)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(java.math.BigInteger v)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • _write

        protected void _write​(java.math.BigInteger v)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(double d)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(float f)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(java.math.BigDecimal dec)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(java.lang.String encodedValue)
                         throws java.io.IOException,
                                com.fasterxml.jackson.core.JsonGenerationException,
                                java.lang.UnsupportedOperationException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
        com.fasterxml.jackson.core.JsonGenerationException
        java.lang.UnsupportedOperationException
      • _verifyValueWrite

        protected final void _verifyValueWrite​(java.lang.String typeMsg)
                                        throws java.io.IOException
        Specified by:
        _verifyValueWrite in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • _failSizedArrayOrObject

        private void _failSizedArrayOrObject()
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • flush

        public final void flush()
                         throws java.io.IOException
        Specified by:
        flush in interface java.io.Flushable
        Specified by:
        flush in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeTag

        public void writeTag​(int tagId)
                      throws java.io.IOException
        Method for writing out an explicit CBOR Tag.
        Parameters:
        tagId - Positive integer (0 or higher)
        Throws:
        java.io.IOException
        Since:
        2.5
      • writeRaw

        public void writeRaw​(byte b)
                      throws java.io.IOException
        Method for directly inserting specified byte in output at current position.

        NOTE: only use this method if you really know what you are doing.

        Throws:
        java.io.IOException
      • writeBytes

        public void writeBytes​(byte[] data,
                               int offset,
                               int len)
                        throws java.io.IOException
        Method for directly inserting specified bytes in output at current position.

        NOTE: only use this method if you really know what you are doing.

        Throws:
        java.io.IOException
      • _writeString

        protected final void _writeString​(java.lang.String name)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • _ensureSpace

        protected final void _ensureSpace​(int needed)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeString

        protected final int _writeString​(char[] text,
                                         int offset,
                                         int len)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeChunkedString

        protected final void _writeChunkedString​(char[] text,
                                                 int offset,
                                                 int len)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • _encode

        private final int _encode​(int outputPtr,
                                  char[] str,
                                  int i,
                                  int end)
                           throws java.io.IOException
        Helper method called when the whole character sequence is known to fit in the output buffer regardless of UTF-8 expansion.
        Throws:
        java.io.IOException
      • _shortUTF8Encode2

        private final int _shortUTF8Encode2​(char[] str,
                                            int i,
                                            int end,
                                            int outputPtr,
                                            int outputStart)
                                     throws java.io.IOException
        Helper method called when the whole character sequence is known to fit in the output buffer, but not all characters are single-byte (ASCII) characters.
        Throws:
        java.io.IOException
      • _encode

        private final int _encode​(int outputPtr,
                                  java.lang.String str,
                                  int len)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • _encode2

        private final int _encode2​(int i,
                                   int outputPtr,
                                   java.lang.String str,
                                   int len,
                                   int outputStart)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • _invalidSurrogateStart

        private int _invalidSurrogateStart​(int code,
                                           byte[] outBuf,
                                           int outputPtr)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • _invalidSurrogateEnd

        private int _invalidSurrogateEnd​(int surr1,
                                         int surr2,
                                         byte[] outBuf,
                                         int outputPtr)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • _appendReplacementChar

        private int _appendReplacementChar​(byte[] outBuf,
                                           int outputPtr)
      • _decodeAndWriteSurrogate

        private int _decodeAndWriteSurrogate​(int surr1,
                                             int surr2,
                                             byte[] outBuf,
                                             int outputPtr)
      • _ensureRoomForOutput

        private final void _ensureRoomForOutput​(int needed)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeIntValue

        private final void _writeIntValue​(int i)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeLongValue

        private final void _writeLongValue​(long l)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeLengthMarker

        private final void _writeLengthMarker​(int majorType,
                                              int i)
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeByte

        private final void _writeByte​(byte b)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeBytes

        private final void _writeBytes​(byte[] data,
                                       int offset,
                                       int len)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeBytes

        private final int _writeBytes​(java.io.InputStream in,
                                      int bytesLeft)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeBytesLong

        private final void _writeBytesLong​(byte[] data,
                                           int offset,
                                           int len)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • _releaseBuffers

        protected void _releaseBuffers()
        Specified by:
        _releaseBuffers in class com.fasterxml.jackson.core.base.GeneratorBase
      • _flushBuffer

        protected final void _flushBuffer()
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • closeComplexElement

        private final void closeComplexElement()
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • _notSupported

        protected java.lang.UnsupportedOperationException _notSupported()