com.fasterxml.jackson.dataformat.smile

## Class SmileGenerator

- java.lang.Object
- - com.fasterxml.jackson.core.JsonGenerator
  - - com.fasterxml.jackson.core.base.GeneratorBase
    - - com.fasterxml.jackson.dataformat.smile.SmileGenerator

All Implemented Interfaces:
  com.fasterxml.jackson.core.Versioned, Closeable, Flushable, AutoCloseable

    public class SmileGenerator
    extends com.fasterxml.jackson.core.base.GeneratorBase

`JsonGenerator` implementation for Smile-encoded content (see Smile Format Specification)

Author:
  tatu

### Nested Class Summary

Nested Classes
`static class` `SmileGenerator.Feature` Enumeration that defines all togglable features for Smile generators.
`protected static class` `SmileGenerator.SharedStringNode` Helper class used for keeping track of possibly shareable String references (for field names and/or short String values)

### Field Summary

Fields
`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 int` `_formatFeatures` Bit flag composed of bits that indicate which `SmileGenerator.Feature`s are enabled.
`protected com.fasterxml.jackson.core.io.IOContext` `_ioContext`
`protected 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 int` `_seenNameCount` Number of entries in `_seenNames`; -1 if no shared name detection is enabled
`protected SmileGenerator.SharedStringNode[]` `_seenNames` Raw data structure used for checking whether field name to write can be output using back reference or not.
`protected int` `_seenStringValueCount` Number of entries in `_seenStringValues`; -1 if no shared text value detection is enabled
`protected SmileGenerator.SharedStringNode[]` `_seenStringValues` Raw data structure used for checking whether String value to write can be output using back reference or not.
`protected SmileBufferRecycler<SmileGenerator.SharedStringNode>` `_smileBufferRecycler` Helper object used for low-level recycling of Smile-generator specific buffers.
`protected static ThreadLocal<SoftReference<SmileBufferRecycler<SmileGenerator.SharedStringNode>>>` `_smileRecyclerRef` This `ThreadLocal` contains a `SoftReference` to a buffer recycler used to provide a low-cost buffer recycling for Smile-specific buffers.
`protected static long` `MAX_INT_AS_LONG`
`protected static long` `MIN_INT_AS_LONG`
`protected static byte` `TOKEN_BYTE_BIG_DECIMAL`
`protected static byte` `TOKEN_BYTE_BIG_INTEGER`
`protected static byte` `TOKEN_BYTE_FLOAT_32`
`protected static byte` `TOKEN_BYTE_FLOAT_64`
`protected static byte` `TOKEN_BYTE_INT_32`
`protected static byte` `TOKEN_BYTE_INT_64`
`protected static byte` `TOKEN_BYTE_LONG_STRING_ASCII`

### 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 and Description
`SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int jsonFeatures, int smileFeatures, com.fasterxml.jackson.core.ObjectCodec codec, OutputStream out)`
`SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int jsonFeatures, int smileFeatures, com.fasterxml.jackson.core.ObjectCodec codec, OutputStream out, byte[] outputBuffer, int offset, boolean bufferRecyclable)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected void` `_flushBuffer()`
`protected UnsupportedOperationException` `_notSupported()`
`protected void` `_releaseBuffers()`
`protected static SmileBufferRecycler<SmileGenerator.SharedStringNode>` `_smileBufferRecycler()`
`protected void` `_verifyValueWrite(String typeMsg)`
`protected void` `_write7BitBinaryWithLength(byte[] data, int offset, int len)`
`protected int` `_write7BitBinaryWithLength(InputStream in, int bytesLeft, byte[] buffer)`
`protected void` `_writeDecimalNumber(String enc)`
`protected void` `_writeFieldName(com.fasterxml.jackson.core.SerializableString name)`
`protected void` `_writeFieldNameUnicode(com.fasterxml.jackson.core.SerializableString name, byte[] bytes)`
`protected void` `_writeIntegralNumber(String enc, boolean neg)`
`boolean` `canWriteBinaryNatively()`
`void` `close()`
`SmileGenerator` `configure(SmileGenerator.Feature f, boolean state)`
`SmileGenerator` `disable(SmileGenerator.Feature f)`
`SmileGenerator` `enable(SmileGenerator.Feature f)`
`void` `flush()`
`int` `getFormatFeatures()`
`int` `getOutputBuffered()`
`Object` `getOutputTarget()`
`boolean` `isEnabled(SmileGenerator.Feature f)`
`protected long` `outputOffset()` Method for accessing offset of the next byte within the whole output stream that this generator has produced.
`com.fasterxml.jackson.core.JsonGenerator` `overrideFormatFeatures(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` `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.
`void` `writeEndArray()`
`void` `writeEndObject()`
`void` `writeFieldName(com.fasterxml.jackson.core.SerializableString name)`
`void` `writeFieldName(String name)`
`void` `writeHeader()` Method that can be called to explicitly write Smile document header.
`void` `writeNull()`
`void` `writeNumber(BigDecimal dec)`
`void` `writeNumber(BigInteger v)`
`void` `writeNumber(double d)`
`void` `writeNumber(float f)`
`void` `writeNumber(int i)`
`void` `writeNumber(long l)`
`void` `writeNumber(String encodedValue)`
`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(String text)`
`void` `writeRaw(String text, int offset, int len)`
`void` `writeRawUTF8String(byte[] text, int offset, int len)`
`void` `writeRawValue(char[] text, int offset, int len)`
`void` `writeRawValue(String text)`
`void` `writeRawValue(String text, int offset, int len)`
`void` `writeStartArray()`
`void` `writeStartArray(int size)`
`void` `writeStartObject()`
`void` `writeString(char[] text, int offset, int len)`
`void` `writeString(com.fasterxml.jackson.core.SerializableString sstr)`
`void` `writeString(String text)`
`void` `writeStringField(String fieldName, String value)`
`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, overrideStdFeatures, setCodec, setCurrentValue, setFeatureMask, writeObject, writeRawValue, writeStartObject, writeTree`

### Methods inherited from class com.fasterxml.jackson.core.JsonGenerator

`_reportError, _reportUnsupportedOperation, _throwInternal, _verifyOffsets, _writeSimpleObject, canOmitFields, canUseSchema, canWriteFormattedNumbers, canWriteObjectId, canWriteTypeId, configure, copyCurrentEvent, copyCurrentStructure, getCharacterEscapes, getHighestEscapedChar, getPrettyPrinter, getSchema, setCharacterEscapes, setHighestNonEscapedChar, setRootValueSeparator, setSchema, writeArray, writeArray, writeArray, writeArrayFieldStart, writeBinary, writeBinary, writeBinaryField, writeBooleanField, writeEmbeddedObject, writeFieldId, writeNullField, writeNumber, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeObjectField, writeObjectFieldStart, writeObjectId, writeObjectRef, writeOmittedField, writeRaw, writeString, writeTypeId, writeTypePrefix, writeTypeSuffix`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### TOKEN_BYTE_LONG_STRING_ASCII

    protected static final byte TOKEN_BYTE_LONG_STRING_ASCII

See Also:
  Constant Field Values

#### TOKEN_BYTE_INT_32

    protected static final byte TOKEN_BYTE_INT_32

See Also:
  Constant Field Values

#### TOKEN_BYTE_INT_64

    protected static final byte TOKEN_BYTE_INT_64

See Also:
  Constant Field Values

#### TOKEN_BYTE_BIG_INTEGER

    protected static final byte TOKEN_BYTE_BIG_INTEGER

See Also:
  Constant Field Values

#### TOKEN_BYTE_FLOAT_32

    protected static final byte TOKEN_BYTE_FLOAT_32

See Also:
  Constant Field Values

#### TOKEN_BYTE_FLOAT_64

    protected static final byte TOKEN_BYTE_FLOAT_64

See Also:
  Constant Field Values

#### TOKEN_BYTE_BIG_DECIMAL

    protected static final byte TOKEN_BYTE_BIG_DECIMAL

See Also:
  Constant Field Values

#### MIN_INT_AS_LONG

    protected static final long MIN_INT_AS_LONG

See Also:
  Constant Field Values

#### MAX_INT_AS_LONG

    protected static final long MAX_INT_AS_LONG

See Also:
  Constant Field Values

#### _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 `SmileGenerator.Feature`s are enabled.

#### _smileBufferRecycler

    protected final SmileBufferRecycler<SmileGenerator.SharedStringNode> _smileBufferRecycler

Helper object used for low-level recycling of Smile-generator specific buffers.

#### _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.

#### _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.

#### _seenNames

    protected SmileGenerator.SharedStringNode[] _seenNames

Raw data structure used for checking whether field name to write can be output using back reference or not.

#### _seenNameCount

    protected int _seenNameCount

Number of entries in `_seenNames`; -1 if no shared name detection is enabled

#### _seenStringValues

    protected SmileGenerator.SharedStringNode[] _seenStringValues

Raw data structure used for checking whether String value to write can be output using back reference or not.

#### _seenStringValueCount

    protected int _seenStringValueCount

Number of entries in `_seenStringValues`; -1 if no shared text value detection is enabled

#### _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.

#### _smileRecyclerRef

    protected static final ThreadLocal<SoftReference<SmileBufferRecycler<SmileGenerator.SharedStringNode>>> _smileRecyclerRef

This `ThreadLocal` contains a `SoftReference` to a buffer recycler used to provide a low-cost buffer recycling for Smile-specific buffers.

### Constructor Detail

#### SmileGenerator

    public SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
                          int jsonFeatures,
                          int smileFeatures,
                          com.fasterxml.jackson.core.ObjectCodec codec,
                          OutputStream out)

#### SmileGenerator

    public SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
                          int jsonFeatures,
                          int smileFeatures,
                          com.fasterxml.jackson.core.ObjectCodec codec,
                          OutputStream out,
                          byte[] outputBuffer,
                          int offset,
                          boolean bufferRecyclable)

### Method Detail

#### writeHeader

    public void writeHeader()
                     throws IOException

Method that can be called to explicitly write Smile document header. Note that usually you do not need to call this for first document to output, but rather only if you intend to write multiple root-level documents with same generator (and even in that case this is optional thing to do). As a result usually only `SmileFactory` calls this method.

Throws:
  `IOException`

#### _smileBufferRecycler

    protected static final SmileBufferRecycler<SmileGenerator.SharedStringNode> _smileBufferRecycler()

#### 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`

#### 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(String name)
                              throws IOException,
                                     com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeFieldName` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeFieldName

    public final void writeFieldName(com.fasterxml.jackson.core.SerializableString name)
                              throws IOException,
                                     com.fasterxml.jackson.core.JsonGenerationException

Overrides:
  `writeFieldName` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeStringField

    public final void writeStringField(String fieldName,
                                       String value)
                                throws IOException,
                                       com.fasterxml.jackson.core.JsonGenerationException

Overrides:
  `writeStringField` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### enable

    public SmileGenerator enable(SmileGenerator.Feature f)

#### disable

    public SmileGenerator disable(SmileGenerator.Feature f)

#### isEnabled

    public final boolean isEnabled(SmileGenerator.Feature f)

#### configure

    public SmileGenerator configure(SmileGenerator.Feature f,
                                    boolean state)

#### writeRaw

    public void writeRaw(byte b)
                  throws IOException,
                         com.fasterxml.jackson.core.JsonGenerationException

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`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### 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`

#### writeStartArray

    public final void writeStartArray()
                               throws IOException,
                                      com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeStartArray` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeStartArray

    public final void writeStartArray(int size)
                               throws IOException,
                                      com.fasterxml.jackson.core.JsonGenerationException

Overrides:
  `writeStartArray` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeEndArray

    public final void writeEndArray()
                             throws IOException,
                                    com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeEndArray` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeStartObject

    public final void writeStartObject()
                                throws IOException,
                                       com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeStartObject` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeEndObject

    public final void writeEndObject()
                              throws IOException,
                                     com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeEndObject` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### _writeFieldName

    protected final void _writeFieldName(com.fasterxml.jackson.core.SerializableString name)
                                  throws IOException

Throws:
  `IOException`

#### _writeFieldNameUnicode

    protected final void _writeFieldNameUnicode(com.fasterxml.jackson.core.SerializableString name,
                                                byte[] bytes)
                                         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 void writeString(char[] text,
                            int offset,
                            int len)
                     throws IOException,
                            com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeString` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeString

    public final void writeString(com.fasterxml.jackson.core.SerializableString sstr)
                           throws IOException,
                                  com.fasterxml.jackson.core.JsonGenerationException

Overrides:
  `writeString` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeRawUTF8String

    public void writeRawUTF8String(byte[] text,
                                   int offset,
                                   int len)
                            throws IOException,
                                   com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeRawUTF8String` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeUTF8String

    public final void writeUTF8String(byte[] text,
                                      int offset,
                                      int len)
                               throws IOException,
                                      com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeUTF8String` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeRaw

    public void writeRaw(String text)
                  throws IOException,
                         com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeRaw` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeRaw

    public void writeRaw(String text,
                         int offset,
                         int len)
                  throws IOException,
                         com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeRaw` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeRaw

    public void writeRaw(char[] text,
                         int offset,
                         int len)
                  throws IOException,
                         com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeRaw` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeRaw

    public void writeRaw(char c)
                  throws IOException,
                         com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeRaw` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeRawValue

    public void writeRawValue(String text)
                       throws IOException,
                              com.fasterxml.jackson.core.JsonGenerationException

Overrides:
  `writeRawValue` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeRawValue

    public void writeRawValue(String text,
                              int offset,
                              int len)
                       throws IOException,
                              com.fasterxml.jackson.core.JsonGenerationException

Overrides:
  `writeRawValue` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeRawValue

    public void writeRawValue(char[] text,
                              int offset,
                              int len)
                       throws IOException,
                              com.fasterxml.jackson.core.JsonGenerationException

Overrides:
  `writeRawValue` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeBinary

    public void writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant,
                            byte[] data,
                            int offset,
                            int len)
                     throws IOException,
                            com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeBinary` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeBinary

    public int writeBinary(InputStream data,
                           int dataLength)
                    throws IOException,
                           com.fasterxml.jackson.core.JsonGenerationException

Overrides:
  `writeBinary` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeBinary

    public int writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant,
                           InputStream data,
                           int dataLength)
                    throws IOException,
                           com.fasterxml.jackson.core.JsonGenerationException

Overrides:
  `writeBinary` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeBoolean

    public void writeBoolean(boolean state)
                      throws IOException,
                             com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeBoolean` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeNull

    public void writeNull()
                   throws IOException,
                          com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeNull` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeNumber

    public void writeNumber(int i)
                     throws IOException,
                            com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeNumber

    public void writeNumber(long l)
                     throws IOException,
                            com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeNumber

    public void writeNumber(BigInteger v)
                     throws IOException,
                            com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeNumber

    public void writeNumber(double d)
                     throws IOException,
                            com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeNumber

    public void writeNumber(float f)
                     throws IOException,
                            com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeNumber

    public void writeNumber(BigDecimal dec)
                     throws IOException,
                            com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeNumber

    public void writeNumber(String encodedValue)
                     throws IOException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### _writeIntegralNumber

    protected void _writeIntegralNumber(String enc,
                                        boolean neg)
                                 throws IOException

Throws:
  `IOException`

#### _writeDecimalNumber

    protected void _writeDecimalNumber(String enc)
                                throws IOException

Throws:
  `IOException`

#### _verifyValueWrite

    protected final void _verifyValueWrite(String typeMsg)
                                    throws IOException,
                                           com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `_verifyValueWrite` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### 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 `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
Overrides:
  `close` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`

#### _write7BitBinaryWithLength

    protected void _write7BitBinaryWithLength(byte[] data,
                                              int offset,
                                              int len)
                                       throws IOException

Throws:
  `IOException`

#### _write7BitBinaryWithLength

    protected int _write7BitBinaryWithLength(InputStream in,
                                             int bytesLeft,
                                             byte[] buffer)
                                      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`

#### outputOffset

    protected long outputOffset()

Method for accessing offset of the next byte within the whole output stream that this generator has produced.

#### _notSupported

    protected UnsupportedOperationException _notSupported()