Class CBORGenerator

java.lang.Object
com.fasterxml.jackson.core.JsonGenerator
com.fasterxml.jackson.core.base.GeneratorBase
com.fasterxml.jackson.dataformat.cbor.CBORGenerator
All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned, Closeable, Flushable, 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 enum 
    Enumeration that defines all togglable features for CBOR generator.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected boolean
    Flag that indicates whether the output buffer is recycable (and needs to be returned to recycler once we are done) or not.
    protected int
    Let's keep track of how many bytes have been output, may prove useful when debugging.
    protected boolean
     
    protected char[]
    Intermediate buffer in which characters of a String are copied before being encoded.
    protected final int
     
    protected int
    Number of elements remaining in the current complex structure (if any), when writing defined-length Arrays, Objects; marker INDEFINITE_LENGTH otherwise.
    protected int[]
     
    protected int
     
    protected int
    Bit flag composed of bits that indicate which CBORGenerator.Features are enabled.
    protected final com.fasterxml.jackson.core.io.IOContext
     
    protected final OutputStream
     
    protected byte[]
    Intermediate buffer in which contents are buffered before being written using _out.
    protected final int
    Offset to index after the last valid index in _outputBuffer.
    protected int
    Pointer to the next available byte in _outputBuffer
    (package private) static final int
    Let's ensure that we have big enough output buffer because of safety margins we need for UTF-8 encoding.
    private static final int
    Special value that is use to keep tracks of arrays and maps opened with infinite length
    private static final long
     
    private static final int
    This is the worst case length (in bytes) of maximum chunk we ever write.
    private static final int
    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 final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
    To simplify certain operations, we require output buffer length to allow outputting of contiguous 256 character UTF-8 encoded String value.
    private static final long
     
    private static final int[]
     

    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, OutputStream out)
     
    CBORGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int stdFeatures, int formatFeatures, com.fasterxml.jackson.core.ObjectCodec codec, OutputStream out, byte[] outputBuffer, int offset, boolean bufferRecyclable)
    Alternative constructor that may be used to feed partially initialized content.
  • Method Summary

    Modifier and Type
    Method
    Description
    private int
    _convertSurrogate(int firstPart, int secondPart)
    Method called to calculate UTF codepoint, from a surrogate pair.
    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.
    private final int
    _encode(int outputPtr, String str, int len)
     
    private final int
    _encode2(int i, int outputPtr, String str, int len, int outputStart)
     
    private final void
     
    protected final void
    _ensureSpace(int needed)
     
    private void
     
    protected final void
     
     
    private final void
     
    protected void
     
    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.
    private void
     
    protected final void
     
    protected void
     
    private final void
    _writeByte(byte b)
     
    private final void
    _writeBytes(byte[] data, int offset, int len)
     
    private final int
    _writeBytes(InputStream in, int bytesLeft)
     
    private final void
    _writeBytesLong(byte[] data, int offset, int len)
     
    protected final void
    _writeChunkedString(char[] text, int offset, int len)
     
    private final void
     
    private final void
    _writeLengthMarker(int majorType, int i)
     
    private final void
     
    private final void
     
    private final void
     
    private final void
     
    protected final void
    _writeString(char[] text, int offset, int len)
     
    protected final void
     
    boolean
     
    void
     
    private final void
     
    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.
     
     
    final void
     
    int
     
    int
     
     
    final boolean
     
    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
    No way (or need) to indent anything, so let's block any attempts.
    com.fasterxml.jackson.core.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, InputStream data, int dataLength)
     
    int
    writeBinary(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.
    final void
     
    final void
     
    final void
    writeFieldId(long size)
     
    final void
    writeFieldName(com.fasterxml.jackson.core.SerializableString name)
     
    final void
     
    void
     
    void
    writeNumber(double d)
     
    void
    writeNumber(float f)
     
    void
    writeNumber(int i)
     
    void
    writeNumber(long l)
     
    void
    writeNumber(String encodedValue)
     
    void
     
    void
     
    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
     
    void
    writeRaw(String text, int offset, int len)
     
    void
    writeRawUTF8String(byte[] raw, int offset, int len)
     
    void
    writeRawValue(char[] text, int offset, int len)
     
    void
     
    void
    writeRawValue(String text, int offset, int len)
     
    final void
     
    void
    writeStartArray(int elementsToWrite)
     
    final void
     
    final void
    writeStartObject(int elementsToWrite)
     
    final void
     
    void
    writeString(char[] text, int offset, int len)
     
    final void
    writeString(com.fasterxml.jackson.core.SerializableString sstr)
     
    void
     
    final void
    writeStringField(String fieldName, String value)
     
    void
    writeTag(int tagId)
    Method for writing out an explicit CBOR Tag.
    final 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 Details

    • 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:
    • 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:
    • 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:
    • 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:
    • MIN_INT_AS_LONG

      private static final long MIN_INT_AS_LONG
      See Also:
    • MAX_INT_AS_LONG

      private static final long MAX_INT_AS_LONG
      See Also:
    • 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:
    • _ioContext

      protected final com.fasterxml.jackson.core.io.IOContext _ioContext
    • _out

      protected final 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:
    • MAX_SHORT_STRING_BYTES

      private static final int MAX_SHORT_STRING_BYTES
      See Also:
    • MAX_MEDIUM_STRING_CHARS

      private static final int MAX_MEDIUM_STRING_CHARS
      See Also:
    • MAX_MEDIUM_STRING_BYTES

      private static final int MAX_MEDIUM_STRING_BYTES
      See Also:
  • Constructor Details

    • CBORGenerator

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

      public CBORGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int stdFeatures, int formatFeatures, com.fasterxml.jackson.core.ObjectCodec codec, 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 Details

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

    • disable

    • isEnabled

      public final boolean isEnabled(CBORGenerator.Feature f)
    • configure

      public CBORGenerator configure(CBORGenerator.Feature f, boolean state)
    • writeFieldName

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

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

      public final void writeFieldId(long size) throws IOException
      Overrides:
      writeFieldId in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeStringField

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

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

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

      protected void maybeCopyTag(com.fasterxml.jackson.core.JsonParser p) throws IOException
      Throws:
      IOException
    • writeStartArray

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

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

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

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

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

      public final void writeStartObject(int elementsToWrite) throws IOException
      Throws:
      IOException
    • writeEndObject

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

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

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

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

      private final void _pushRemainingElements()
    • _writeNumberNoCheck

      private final void _writeNumberNoCheck(int i) throws IOException
      Throws:
      IOException
    • _writeNumberNoCheck

      private final void _writeNumberNoCheck(long l) throws IOException
      Throws:
      IOException
    • _writeNumberNoCheck

      private final void _writeNumberNoCheck(double d) throws IOException
      Throws:
      IOException
    • writeString

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      protected void _write(BigInteger v) throws IOException
      Throws:
      IOException
    • writeNumber

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

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

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

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

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

      private void _failSizedArrayOrObject() throws IOException
      Throws:
      IOException
    • flush

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

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

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

      public void writeRaw(byte b) throws 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:
      IOException
    • writeBytes

      public void writeBytes(byte[] data, int offset, int len) throws 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:
      IOException
    • _writeString

      protected final void _writeString(String name) throws IOException
      Throws:
      IOException
    • _ensureSpace

      protected final void _ensureSpace(int needed) throws IOException
      Throws:
      IOException
    • _writeString

      protected final void _writeString(char[] text, int offset, int len) throws IOException
      Throws:
      IOException
    • _writeChunkedString

      protected final void _writeChunkedString(char[] text, int offset, int len) throws IOException
      Throws:
      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, String str, int len)
    • _encode2

      private final int _encode2(int i, int outputPtr, 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 IOException
      Throws:
      IOException
    • _writeIntValue

      private final void _writeIntValue(int i) throws IOException
      Throws:
      IOException
    • _writeLongValue

      private final void _writeLongValue(long l) throws IOException
      Throws:
      IOException
    • _writeLengthMarker

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

      private final void _writeByte(byte b) throws IOException
      Throws:
      IOException
    • _writeBytes

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

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

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

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

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

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

      protected UnsupportedOperationException _notSupported()