com.fasterxml.jackson.dataformat.csv
Class CsvGenerator

java.lang.Object
  extended by com.fasterxml.jackson.core.JsonGenerator
      extended by com.fasterxml.jackson.core.base.GeneratorBase
          extended by com.fasterxml.jackson.dataformat.csv.CsvGenerator
All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned, Closeable, Flushable

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


Nested Class Summary
static class CsvGenerator.Feature
          Enumeration that defines all togglable features for CSV writers (if any: currently none)
 
Field Summary
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.Features 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, 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
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
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)
           
 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
_checkStdFeatureChanges, _constructDefaultPrettyPrinter, _decodeSurrogate, disable, enable, getCodec, getCurrentValue, getFeatureMask, getOutputContext, isClosed, isEnabled, overrideStdFeatures, setCodec, setCurrentValue, setFeatureMask, writeBinary, writeObject, writeRawValue, writeTree
 
Methods inherited from class com.fasterxml.jackson.core.JsonGenerator
_reportError, _reportUnsupportedOperation, _throwInternal, _writeSimpleObject, canWriteBinaryNatively, canWriteObjectId, canWriteTypeId, configure, copyCurrentEvent, copyCurrentStructure, getCharacterEscapes, getHighestEscapedChar, getPrettyPrinter, getSchema, setCharacterEscapes, setHighestNonEscapedChar, setRootValueSeparator, writeArrayFieldStart, writeBinary, writeBinary, writeBinary, writeBinaryField, writeBooleanField, writeNullField, writeNumber, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeObjectField, writeObjectFieldStart, writeObjectId, writeObjectRef, writeRaw, writeStartArray, writeTypeId
 
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.Features 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

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
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 © 2016 FasterXML. All rights reserved.