com.fasterxml.jackson.dataformat.csv

## Class CsvGenerator

- java.lang.Object
- - com.fasterxml.jackson.core.JsonGenerator
  - - com.fasterxml.jackson.core.base.GeneratorBase
    - - com.fasterxml.jackson.dataformat.csv.CsvGenerator

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

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

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `CsvGenerator.Feature` Enumeration that defines all togglable features for CSV writers (if any: currently none)

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected StringBuilder` | `_arrayContents` Accumulated contents of an array cell, if any
    `protected int` | `_arrayElements` Additional counter that indicates number of value entries in the array.
    `protected String` | `_arraySeparator` Separator to use during writing of (simple) array value, to be encoded as a single column value, if any.
    `protected int` | `_formatFeatures` Bit flag composed of bits that indicate which `CsvGenerator.Feature`s are enabled.
    `protected boolean` | `_handleFirstLine` Flag that indicates that we need to write header line, if one is needed.
    `protected com.fasterxml.jackson.core.io.IOContext` | `_ioContext`
    `protected int` | `_nextColumnByName` Index of column that we will be getting next, based on field name call that was made.
    `protected CsvSchema` | `_schema` Definition of columns being written, if available.
    `protected boolean` | `_skipValue` Flag set when property to write is unknown, and the matching value is to be skipped quietly.
    `protected com.fasterxml.jackson.core.json.JsonWriteContext` | `_skipWithin` When skipping output (for "unknown" output), outermost write context where skipping should occur
    `protected CsvEncoder` | `_writer`
    `protected static long` | `MAX_INT_AS_LONG`
    `protected static long` | `MIN_INT_AS_LONG`

    - ### 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
    `CsvGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int jsonFeatures, int csvFeatures, com.fasterxml.jackson.core.ObjectCodec codec, CsvEncoder csvWriter)`
    `CsvGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int jsonFeatures, int csvFeatures, com.fasterxml.jackson.core.ObjectCodec codec, Writer out, CsvSchema schema)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `_addToArray(char[] value)`
    `protected void` | `_addToArray(String value)`
    `protected int` | `_columnIndex()`
    `protected void` | `_handleFirstLine()`
    `protected void` | `_releaseBuffers()`
    `protected void` | `_reportMappingError(String msg)` Method called when there is a problem related to mapping data (compared to a low-level generation); if so, should be surfaced as
    `protected void` | `_verifyValueWrite(String typeMsg)`
    `boolean` | `canOmitFields()`
    `boolean` | `canUseSchema(com.fasterxml.jackson.core.FormatSchema schema)`
    `boolean` | `canWriteFormattedNumbers()`
    `void` | `close()`
    `CsvGenerator` | `configure(CsvGenerator.Feature f, boolean state)`
    `CsvGenerator` | `disable(CsvGenerator.Feature f)`
    `CsvGenerator` | `enable(CsvGenerator.Feature f)`
    `protected void` | `finishRow()` Method called when the current row is complete; typically will flush possibly buffered column values, append linefeed and reset state appropriately.
    `void` | `flush()`
    `int` | `getFormatFeatures()`
    `int` | `getOutputBuffered()` NOTE: while this method will return some information on amount of data buffered, it may be an incomplete view as some buffering happens at a higher level, as not-yet-serialized values.
    `Object` | `getOutputTarget()`
    `boolean` | `isEnabled(CsvGenerator.Feature f)`
    `com.fasterxml.jackson.core.JsonGenerator` | `overrideFormatFeatures(int values, int mask)`
    `CsvGenerator` | `setPrettyPrinter(com.fasterxml.jackson.core.PrettyPrinter pp)` No way (or need) to indent anything, so let's block any attempts.
    `void` | `setSchema(com.fasterxml.jackson.core.FormatSchema schema)`
    `CsvGenerator` | `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)`
    `void` | `writeBoolean(boolean state)`
    `void` | `writeEndArray()`
    `void` | `writeEndObject()`
    `void` | `writeFieldName(com.fasterxml.jackson.core.SerializableString name)`
    `void` | `writeFieldName(String name)`
    `void` | `writeNull()`
    `void` | `writeNumber(BigDecimal v)`
    `void` | `writeNumber(BigInteger v)`
    `void` | `writeNumber(double v)`
    `void` | `writeNumber(float v)`
    `void` | `writeNumber(int v)`
    `void` | `writeNumber(long v)`
    `void` | `writeNumber(String encodedValue)`
    `void` | `writeOmittedField(String fieldName)`
    `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` | `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, writeBinary, writeObject, writeRawValue, writeStartObject, writeTree`

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

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

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

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

- - ### Field Detail

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

    - #### _formatFeatures

          protected int _formatFeatures

      Bit flag composed of bits that indicate which `CsvGenerator.Feature`s are enabled.

    - #### _schema

          protected CsvSchema _schema

      Definition of columns being written, if available.

    - #### _writer

          protected CsvEncoder _writer

    - #### _handleFirstLine

          protected boolean _handleFirstLine

      Flag that indicates that we need to write header line, if one is needed. Used because schema may be specified after instance is constructed.

    - #### _nextColumnByName

          protected int _nextColumnByName

      Index of column that we will be getting next, based on field name call that was made.

    - #### _skipValue

          protected boolean _skipValue

      Flag set when property to write is unknown, and the matching value is to be skipped quietly.
      Since:
        2.5

    - #### _arraySeparator

          protected String _arraySeparator

      Separator to use during writing of (simple) array value, to be encoded as a single column value, if any.
      Since:
        2.5

    - #### _arrayContents

          protected StringBuilder _arrayContents

      Accumulated contents of an array cell, if any

    - #### _arrayElements

          protected int _arrayElements

      Additional counter that indicates number of value entries in the array. Needed because `null` entries do not add content, but need to be separated by array cell separator
      Since:
        2.7

    - #### _skipWithin

          protected com.fasterxml.jackson.core.json.JsonWriteContext _skipWithin

      When skipping output (for "unknown" output), outermost write context where skipping should occur
      Since:
        2.7

  - ### Constructor Detail

    - #### CsvGenerator

          public CsvGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
                      int jsonFeatures,
                      int csvFeatures,
                      com.fasterxml.jackson.core.ObjectCodec codec,
                      Writer out,
                      CsvSchema schema)

      Since:
        2.4

    - #### CsvGenerator

          public CsvGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
                      int jsonFeatures,
                      int csvFeatures,
                      com.fasterxml.jackson.core.ObjectCodec codec,
                      CsvEncoder csvWriter)

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

    - #### useDefaultPrettyPrinter

          public CsvGenerator 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 CsvGenerator 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()

      NOTE: while this method will return some information on amount of data buffered, it may be an incomplete view as some buffering happens at a higher level, as not-yet-serialized values.
      Overrides:
        `getOutputBuffered` in class `com.fasterxml.jackson.core.JsonGenerator`

    - #### setSchema

          public void setSchema(com.fasterxml.jackson.core.FormatSchema schema)

      Overrides:
        `setSchema` 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`

    - #### canUseSchema

          public boolean canUseSchema(com.fasterxml.jackson.core.FormatSchema schema)

      Overrides:
        `canUseSchema` in class `com.fasterxml.jackson.core.JsonGenerator`

    - #### canOmitFields

          public boolean canOmitFields()

      Overrides:
        `canOmitFields` in class `com.fasterxml.jackson.core.JsonGenerator`

    - #### canWriteFormattedNumbers

          public boolean canWriteFormattedNumbers()

      Overrides:
        `canWriteFormattedNumbers` in class `com.fasterxml.jackson.core.JsonGenerator`

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

    - #### writeStringField

          public final void writeStringField(String fieldName,
                              String value)
                                      throws IOException

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

    - #### isEnabled

          public final boolean isEnabled(CsvGenerator.Feature f)

    - #### configure

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

    - #### enable

          public CsvGenerator enable(CsvGenerator.Feature f)

    - #### disable

          public CsvGenerator disable(CsvGenerator.Feature f)

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

    - #### writeStartArray

          public final void writeStartArray()
                                     throws IOException

      Specified by:
        `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`

    - #### writeEndObject

          public final void writeEndObject()
                                    throws IOException

      Specified by:
        `writeEndObject` in class `com.fasterxml.jackson.core.JsonGenerator`
      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

      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`

    - #### writeRawUTF8String

          public void writeRawUTF8String(byte[] text,
                                int offset,
                                int len)
                                  throws IOException

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

    - #### writeUTF8String

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

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

    - #### 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 v)
                           throws IOException

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

    - #### writeNumber

          public void writeNumber(long v)
                           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`

    - #### writeNumber

          public void writeNumber(double v)
                           throws IOException

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

    - #### writeNumber

          public void writeNumber(float v)
                           throws IOException

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

    - #### writeNumber

          public void writeNumber(BigDecimal v)
                           throws IOException

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

    - #### writeNumber

          public void writeNumber(String encodedValue)
                           throws IOException

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

    - #### writeOmittedField

          public void writeOmittedField(String fieldName)
                                 throws IOException

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

    - #### _verifyValueWrite

          protected final void _verifyValueWrite(String typeMsg)
                                          throws IOException

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

    - #### _releaseBuffers

          protected void _releaseBuffers()

      Specified by:
        `_releaseBuffers` in class `com.fasterxml.jackson.core.base.GeneratorBase`

    - #### _reportMappingError

          protected void _reportMappingError(String msg)
                                      throws com.fasterxml.jackson.core.JsonProcessingException

      Method called when there is a problem related to mapping data (compared to a low-level generation); if so, should be surfaced as
      Throws:
        `com.fasterxml.jackson.core.JsonProcessingException`
      Since:
        2.7

    - #### _columnIndex

          protected final int _columnIndex()

    - #### finishRow

          protected void finishRow()
                            throws IOException

      Method called when the current row is complete; typically will flush possibly buffered column values, append linefeed and reset state appropriately.
      Throws:
        `IOException`

    - #### _handleFirstLine

          protected void _handleFirstLine()
                                   throws IOException

      Throws:
        `IOException`

    - #### _addToArray

          protected void _addToArray(String value)

    - #### _addToArray

          protected void _addToArray(char[] value)

Copyright © 2017 FasterXML. All rights reserved.