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 _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 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 com.fasterxml.jackson.core.io.IOContext _ioContext  
      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
      (package private) 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 long MAX_INT_AS_LONG  
      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 long MIN_INT_AS_LONG  
      private static int[] NO_INTS  
      • Fields inherited from class com.fasterxml.jackson.core.base.GeneratorBase

        _cfgNumbersAsStrings, _closed, _features, _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
    • Constructor Summary

      Constructors 
      Constructor Description
      CBORGenerator​(com.fasterxml.jackson.core.io.IOContext ctxt, int stdFeatures, int formatFeatures, com.fasterxml.jackson.core.ObjectCodec codec, java.io.OutputStream out)  
      CBORGenerator​(com.fasterxml.jackson.core.io.IOContext ctxt, 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 
      Modifier and Type Method Description
      private int _convertSurrogate​(int firstPart, int secondPart)
      Method called to calculate UTF codepoint, from a surrogate pair.
      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()  
      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.
      private void _throwIllegalSurrogate​(int code)  
      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 _writeIntValue​(int i)  
      private void _writeLengthMarker​(int majorType, int i)  
      private void _writeLongValue​(long l)  
      private void _writeNumberNoCheck​(double d)  
      private void _writeNumberNoCheck​(int i)  
      private void _writeNumberNoCheck​(long l)  
      protected void _writeString​(char[] text, int offset, int len)  
      protected void _writeString​(java.lang.String name)  
      boolean canWriteBinaryNatively()  
      void close()  
      private void closeComplexElement()  
      CBORGenerator configure​(CBORGenerator.Feature f, boolean state)  
      void copyCurrentEvent​(com.fasterxml.jackson.core.JsonParser p)
      Specialize JsonGenerator.copyCurrentEvent(com.fasterxml.jackson.core.JsonParser) to handle tags.
      void copyCurrentStructure​(com.fasterxml.jackson.core.JsonParser p)
      Specialize JsonGenerator.copyCurrentStructure(com.fasterxml.jackson.core.JsonParser) to handle tags.
      CBORGenerator disable​(CBORGenerator.Feature f)  
      CBORGenerator enable​(CBORGenerator.Feature f)  
      void flush()  
      int getFormatFeatures()  
      int getOutputBuffered()  
      java.lang.Object getOutputTarget()  
      boolean isEnabled​(CBORGenerator.Feature f)  
      protected void maybeCopyTag​(com.fasterxml.jackson.core.JsonParser p)  
      com.fasterxml.jackson.core.JsonGenerator overrideFormatFeatures​(int values, int mask)  
      com.fasterxml.jackson.core.JsonGenerator overrideStdFeatures​(int values, int mask)  
      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.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 size)  
      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)  
      void writeStartObject()  
      void writeStartObject​(int elementsToWrite)  
      void writeStartObject​(java.lang.Object forValue)  
      void writeString​(char[] text, int offset, int len)  
      void writeString​(com.fasterxml.jackson.core.SerializableString sstr)  
      void writeString​(java.lang.String text)  
      void writeStringField​(java.lang.String fieldName, java.lang.String value)  
      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, _checkStdFeatureChanges, _constructDefaultPrettyPrinter, _decodeSurrogate, disable, enable, getCodec, getCurrentValue, getFeatureMask, getOutputContext, isClosed, isEnabled, setCodec, setCurrentValue, setFeatureMask, writeObject, writeRawValue, writeTree
      • Methods inherited from class com.fasterxml.jackson.core.JsonGenerator

        _copyCurrentContents, _reportError, _reportUnsupportedOperation, _throwInternal, _verifyOffsets, _writeSimpleObject, canOmitFields, canUseSchema, canWriteFormattedNumbers, canWriteObjectId, canWriteTypeId, configure, 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, writeRaw, writeStartArray, writeStartArray, writeStartObject, writeString, 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

        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
      • 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
      • _ioContext

        protected final com.fasterxml.jackson.core.io.IOContext _ioContext
      • _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
      • _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 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.
      • 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 ctxt,
                             int stdFeatures,
                             int formatFeatures,
                             com.fasterxml.jackson.core.ObjectCodec codec,
                             java.io.OutputStream out)
      • CBORGenerator

        public CBORGenerator​(com.fasterxml.jackson.core.io.IOContext ctxt,
                             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
      • 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
      • 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 size)
                                throws java.io.IOException
        Overrides:
        writeFieldId in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeStringField

        public final void writeStringField​(java.lang.String fieldName,
                                           java.lang.String value)
                                    throws java.io.IOException
        Overrides:
        writeStringField in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • copyCurrentEvent

        public void copyCurrentEvent​(com.fasterxml.jackson.core.JsonParser p)
                              throws java.io.IOException
        Specialize JsonGenerator.copyCurrentEvent(com.fasterxml.jackson.core.JsonParser) to handle tags.
        Overrides:
        copyCurrentEvent in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • copyCurrentStructure

        public void copyCurrentStructure​(com.fasterxml.jackson.core.JsonParser p)
                                  throws java.io.IOException
        Specialize JsonGenerator.copyCurrentStructure(com.fasterxml.jackson.core.JsonParser) to handle tags.
        Overrides:
        copyCurrentStructure in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • maybeCopyTag

        protected void maybeCopyTag​(com.fasterxml.jackson.core.JsonParser p)
                             throws java.io.IOException
        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​(int elementsToWrite)
                             throws java.io.IOException
        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
      • 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()
      • _writeNumberNoCheck

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

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

        private final void _writeNumberNoCheck​(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 void _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)
        Helper method called when the whole character sequence is known to fit in the output buffer regardless of UTF-8 expansion.
      • _shortUTF8Encode2

        private final 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.
      • _encode

        private final int _encode​(int outputPtr,
                                  java.lang.String str,
                                  int len)
      • _encode2

        private final int _encode2​(int i,
                                   int outputPtr,
                                   java.lang.String str,
                                   int len,
                                   int outputStart)
      • _convertSurrogate

        private int _convertSurrogate​(int firstPart,
                                      int secondPart)
        Method called to calculate UTF codepoint, from a surrogate pair.
      • _throwIllegalSurrogate

        private void _throwIllegalSurrogate​(int code)
      • _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()