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,java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
public class CsvGenerator extends com.fasterxml.jackson.core.base.GeneratorBase
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCsvGenerator.FeatureEnumeration that defines all togglable features for CSV writers (if any: currently none)
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringBuilder_arrayContentsAccumulated contents of an array cell, if anyprotected int_arrayElementsAdditional counter that indicates number of value entries in the array.protected java.lang.String_arraySeparatorSeparator to use during writing of (simple) array value, to be encoded as a single column value, if any.protected com.fasterxml.jackson.core.io.CharacterEscapes_characterEscapesprotected int_formatFeaturesBit flag composed of bits that indicate whichCsvGenerator.Features are enabled.protected boolean_handleFirstLineFlag that indicates that we need to write header line, if one is needed.protected com.fasterxml.jackson.core.io.IOContext_ioContextprotected int_nextColumnByNameIndex of column that we will be getting next, based on field name call that was made.protected CsvSchema_schemaDefinition of columns being written, if available.protected boolean_skipValueFlag set when property to write is unknown, and the matching value is to be skipped quietly.protected com.fasterxml.jackson.core.json.JsonWriteContext_skipWithinWhen skipping output (for "unknown" output), outermost write context where skipping should occurprotected CsvEncoder_writerprotected static longMAX_INT_AS_LONGprotected static longMIN_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
-
-
Constructor Summary
Constructors Constructor 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, java.io.Writer out, CsvSchema schema)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void_addToArray(char[] value)protected void_addToArray(java.lang.String value)protected int_columnIndex()protected void_handleFirstLine()protected void_releaseBuffers()protected void_reportMappingError(java.lang.String msg)Method called when there is a problem related to mapping data (compared to a low-level generation); if so, should be surfaced asprotected void_verifyValueWrite(java.lang.String typeMsg)booleancanOmitFields()booleancanUseSchema(com.fasterxml.jackson.core.FormatSchema schema)booleancanWriteFormattedNumbers()voidclose()CsvGeneratorconfigure(CsvGenerator.Feature f, boolean state)CsvGeneratordisable(CsvGenerator.Feature f)CsvGeneratorenable(CsvGenerator.Feature f)protected voidfinishRow()Method called when the current row is complete; typically will flush possibly buffered column values, append linefeed and reset state appropriately.voidflush()com.fasterxml.jackson.core.io.CharacterEscapesgetCharacterEscapes()intgetFormatFeatures()intgetOutputBuffered()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.java.lang.ObjectgetOutputTarget()booleanisEnabled(CsvGenerator.Feature f)com.fasterxml.jackson.core.JsonGeneratoroverrideFormatFeatures(int values, int mask)com.fasterxml.jackson.core.JsonGeneratorsetCharacterEscapes(com.fasterxml.jackson.core.io.CharacterEscapes esc)CsvGeneratorsetPrettyPrinter(com.fasterxml.jackson.core.PrettyPrinter pp)No way (or need) to indent anything, so let's block any attempts.voidsetSchema(com.fasterxml.jackson.core.FormatSchema schema)CsvGeneratoruseDefaultPrettyPrinter()No way (or need) to indent anything, so let's block any attempts.com.fasterxml.jackson.core.Versionversion()voidwriteBinary(com.fasterxml.jackson.core.Base64Variant b64variant, byte[] data, int offset, int len)voidwriteBoolean(boolean state)voidwriteEndArray()voidwriteEndObject()voidwriteFieldName(com.fasterxml.jackson.core.SerializableString name)voidwriteFieldName(java.lang.String name)voidwriteNull()voidwriteNumber(double v)voidwriteNumber(float v)voidwriteNumber(int v)voidwriteNumber(long v)voidwriteNumber(java.lang.String encodedValue)voidwriteNumber(java.math.BigDecimal v)voidwriteNumber(java.math.BigInteger v)voidwriteOmittedField(java.lang.String fieldName)voidwriteRaw(char c)voidwriteRaw(char[] text, int offset, int len)voidwriteRaw(java.lang.String text)voidwriteRaw(java.lang.String text, int offset, int len)voidwriteRawUTF8String(byte[] text, int offset, int len)voidwriteRawValue(char[] text, int offset, int len)voidwriteRawValue(java.lang.String text)voidwriteRawValue(java.lang.String text, int offset, int len)voidwriteStartArray()voidwriteStartObject()voidwriteString(char[] text, int offset, int len)voidwriteString(com.fasterxml.jackson.core.SerializableString sstr)voidwriteString(java.lang.String text)voidwriteStringField(java.lang.String fieldName, java.lang.String value)voidwriteUTF8String(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, getHighestEscapedChar, getPrettyPrinter, getSchema, 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
-
-
-
-
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 whichCsvGenerator.Features are enabled.
-
_schema
protected CsvSchema _schema
Definition of columns being written, if available.
-
_writer
protected CsvEncoder _writer
-
_characterEscapes
protected com.fasterxml.jackson.core.io.CharacterEscapes _characterEscapes
-
_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 java.lang.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 java.lang.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, java.io.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:
versionin interfacecom.fasterxml.jackson.core.Versioned- Overrides:
versionin classcom.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:
useDefaultPrettyPrinterin classcom.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:
setPrettyPrinterin classcom.fasterxml.jackson.core.JsonGenerator
-
getOutputTarget
public java.lang.Object getOutputTarget()
- Overrides:
getOutputTargetin classcom.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:
getOutputBufferedin classcom.fasterxml.jackson.core.JsonGenerator
-
setSchema
public void setSchema(com.fasterxml.jackson.core.FormatSchema schema)
- Overrides:
setSchemain classcom.fasterxml.jackson.core.JsonGenerator
-
getFormatFeatures
public int getFormatFeatures()
- Overrides:
getFormatFeaturesin classcom.fasterxml.jackson.core.JsonGenerator
-
overrideFormatFeatures
public com.fasterxml.jackson.core.JsonGenerator overrideFormatFeatures(int values, int mask)- Overrides:
overrideFormatFeaturesin classcom.fasterxml.jackson.core.JsonGenerator
-
setCharacterEscapes
public com.fasterxml.jackson.core.JsonGenerator setCharacterEscapes(com.fasterxml.jackson.core.io.CharacterEscapes esc)
- Overrides:
setCharacterEscapesin classcom.fasterxml.jackson.core.JsonGenerator
-
getCharacterEscapes
public com.fasterxml.jackson.core.io.CharacterEscapes getCharacterEscapes()
- Overrides:
getCharacterEscapesin classcom.fasterxml.jackson.core.JsonGenerator
-
canUseSchema
public boolean canUseSchema(com.fasterxml.jackson.core.FormatSchema schema)
- Overrides:
canUseSchemain classcom.fasterxml.jackson.core.JsonGenerator
-
canOmitFields
public boolean canOmitFields()
- Overrides:
canOmitFieldsin classcom.fasterxml.jackson.core.JsonGenerator
-
canWriteFormattedNumbers
public boolean canWriteFormattedNumbers()
- Overrides:
canWriteFormattedNumbersin classcom.fasterxml.jackson.core.JsonGenerator
-
writeFieldName
public final void writeFieldName(java.lang.String name) throws java.io.IOException- Specified by:
writeFieldNamein classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeFieldName
public final void writeFieldName(com.fasterxml.jackson.core.SerializableString name) throws java.io.IOException- Overrides:
writeFieldNamein classcom.fasterxml.jackson.core.base.GeneratorBase- Throws:
java.io.IOException
-
writeStringField
public final void writeStringField(java.lang.String fieldName, java.lang.String value) throws java.io.IOException- Overrides:
writeStringFieldin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.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 java.io.IOException- Specified by:
flushin interfacejava.io.Flushable- Specified by:
flushin classcom.fasterxml.jackson.core.base.GeneratorBase- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classcom.fasterxml.jackson.core.base.GeneratorBase- Throws:
java.io.IOException
-
writeStartArray
public final void writeStartArray() throws java.io.IOException- Specified by:
writeStartArrayin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeEndArray
public final void writeEndArray() throws java.io.IOException- Specified by:
writeEndArrayin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeStartObject
public final void writeStartObject() throws java.io.IOException- Specified by:
writeStartObjectin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeEndObject
public final void writeEndObject() throws java.io.IOException- Specified by:
writeEndObjectin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeString
public void writeString(java.lang.String text) throws java.io.IOException- Specified by:
writeStringin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeString
public void writeString(char[] text, int offset, int len) throws java.io.IOException- Specified by:
writeStringin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeString
public final void writeString(com.fasterxml.jackson.core.SerializableString sstr) throws java.io.IOException- Overrides:
writeStringin classcom.fasterxml.jackson.core.base.GeneratorBase- Throws:
java.io.IOException
-
writeRawUTF8String
public void writeRawUTF8String(byte[] text, int offset, int len) throws java.io.IOException- Specified by:
writeRawUTF8Stringin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeUTF8String
public void writeUTF8String(byte[] text, int offset, int len) throws java.io.IOException- Specified by:
writeUTF8Stringin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeRaw
public void writeRaw(java.lang.String text) throws java.io.IOException- Specified by:
writeRawin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeRaw
public void writeRaw(java.lang.String text, int offset, int len) throws java.io.IOException- Specified by:
writeRawin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeRaw
public void writeRaw(char[] text, int offset, int len) throws java.io.IOException- Specified by:
writeRawin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeRaw
public void writeRaw(char c) throws java.io.IOException- Specified by:
writeRawin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeRawValue
public void writeRawValue(java.lang.String text) throws java.io.IOException- Overrides:
writeRawValuein classcom.fasterxml.jackson.core.base.GeneratorBase- Throws:
java.io.IOException
-
writeRawValue
public void writeRawValue(java.lang.String text, int offset, int len) throws java.io.IOException- Overrides:
writeRawValuein classcom.fasterxml.jackson.core.base.GeneratorBase- Throws:
java.io.IOException
-
writeRawValue
public void writeRawValue(char[] text, int offset, int len) throws java.io.IOException- Overrides:
writeRawValuein classcom.fasterxml.jackson.core.base.GeneratorBase- Throws:
java.io.IOException
-
writeBinary
public void writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant, byte[] data, int offset, int len) throws java.io.IOException, com.fasterxml.jackson.core.JsonGenerationException- Specified by:
writeBinaryin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationException
-
writeBoolean
public void writeBoolean(boolean state) throws java.io.IOException- Specified by:
writeBooleanin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeNull
public void writeNull() throws java.io.IOException- Specified by:
writeNullin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeNumber
public void writeNumber(int v) throws java.io.IOException- Specified by:
writeNumberin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeNumber
public void writeNumber(long v) throws java.io.IOException- Specified by:
writeNumberin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeNumber
public void writeNumber(java.math.BigInteger v) throws java.io.IOException- Specified by:
writeNumberin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeNumber
public void writeNumber(double v) throws java.io.IOException- Specified by:
writeNumberin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeNumber
public void writeNumber(float v) throws java.io.IOException- Specified by:
writeNumberin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeNumber
public void writeNumber(java.math.BigDecimal v) throws java.io.IOException- Specified by:
writeNumberin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeNumber
public void writeNumber(java.lang.String encodedValue) throws java.io.IOException- Specified by:
writeNumberin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
writeOmittedField
public void writeOmittedField(java.lang.String fieldName) throws java.io.IOException- Overrides:
writeOmittedFieldin classcom.fasterxml.jackson.core.JsonGenerator- Throws:
java.io.IOException
-
_verifyValueWrite
protected final void _verifyValueWrite(java.lang.String typeMsg) throws java.io.IOException- Specified by:
_verifyValueWritein classcom.fasterxml.jackson.core.base.GeneratorBase- Throws:
java.io.IOException
-
_releaseBuffers
protected void _releaseBuffers()
- Specified by:
_releaseBuffersin classcom.fasterxml.jackson.core.base.GeneratorBase
-
_reportMappingError
protected void _reportMappingError(java.lang.String msg) throws com.fasterxml.jackson.core.JsonProcessingExceptionMethod 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 java.io.IOExceptionMethod called when the current row is complete; typically will flush possibly buffered column values, append linefeed and reset state appropriately.- Throws:
java.io.IOException
-
_handleFirstLine
protected void _handleFirstLine() throws java.io.IOException- Throws:
java.io.IOException
-
_addToArray
protected void _addToArray(java.lang.String value)
-
_addToArray
protected void _addToArray(char[] value)
-
-