|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.fasterxml.jackson.dataformat.csv.impl.CsvEncoder
public class CsvEncoder
Helper class that handles actual low-level construction of CSV output, based only on indexes given without worrying about reordering, or binding from logical properties.
| Field Summary | |
|---|---|
protected BufferedValue[] |
_buffered
And if output comes in shuffled order we will need to do bit of ordering. |
protected boolean |
_bufferRecyclable
Flag that indicates whether the _outputBuffer is recyclable (and
needs to be returned to recycler once we are done) or not. |
protected boolean |
_cfgAlwaysQuoteStrings
|
protected char |
_cfgColumnSeparator
|
protected int |
_cfgEscapeCharacter
|
protected boolean |
_cfgIncludeMissingTail
|
protected char[] |
_cfgLineSeparator
|
protected int |
_cfgLineSeparatorLength
|
protected int |
_cfgMaxQuoteCheckChars
|
protected int |
_cfgMinSafeChar
Lowest-valued character that is safe to output without using quotes around value, NOT including possible escape character. |
protected char[] |
_cfgNullValue
|
protected boolean |
_cfgOptimalQuoting
Marker flag used to determine if to do optimal (aka "strict") quoting checks or not (looser conservative check) |
protected int |
_cfgQuoteCharacter
|
protected int |
_charsWritten
Let's keep track of how many bytes have been output, may prove useful when debugging. |
protected int |
_columnCount
|
protected int |
_csvFeatures
|
protected com.fasterxml.jackson.core.io.IOContext |
_ioContext
|
protected int |
_lastBuffered
Index of the last buffered value |
protected int |
_nextColumnToWrite
Index of column we expect to write next |
protected Writer |
_out
Underlying Writer used for output. |
protected char[] |
_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 char position in _outputBuffer |
protected static int |
MAX_QUOTE_CHECK
|
protected BufferedValue[] |
NO_BUFFERED
|
protected static int |
SHORT_WRITE
|
| Constructor Summary | |
|---|---|
CsvEncoder(CsvEncoder base,
CsvSchema newSchema)
|
|
CsvEncoder(com.fasterxml.jackson.core.io.IOContext ctxt,
int csvFeatures,
Writer out,
CsvSchema schema)
|
|
| Method Summary | |
|---|---|
protected void |
_append(char[] ch)
|
protected void |
_buffer(int index,
BufferedValue v)
|
protected void |
_flushBuffer()
|
protected boolean |
_mayNeedQuotes(String value,
int length)
Helper method that determines whether given String is likely to require quoting; check tries to optimize for speed. |
protected boolean |
_needsQuotingLoose(String value)
NOTE: final since checking is not expected to be changed here; override calling method ( _mayNeedQuotes) instead, if necessary. |
protected boolean |
_needsQuotingLoose(String value,
int esc)
|
protected boolean |
_needsQuotingStrict(String value)
|
protected boolean |
_needsQuotingStrict(String value,
int esc)
|
void |
_releaseBuffers()
|
void |
_writeQuoted(String text)
|
protected void |
_writeQuoted(String text,
char q,
int i)
|
void |
_writeQuotedAndEscaped(String text,
char esc)
|
protected void |
_writeQuotedAndEscaped(String text,
char q,
char esc,
int i)
|
protected void |
appendColumnSeparator()
|
protected void |
appendNull()
|
protected void |
appendRawValue(String value)
|
protected void |
appendValue(boolean value)
|
protected void |
appendValue(double value)
|
protected void |
appendValue(float value)
|
protected void |
appendValue(int value)
|
protected void |
appendValue(long value)
|
protected void |
appendValue(String value)
|
void |
close(boolean autoClose)
|
void |
endRow()
|
void |
flush(boolean flushStream)
|
int |
getOutputBuffered()
NOTE: while value does indeed indicate amount that has been written in the buffer, there may be more intermediate data that is buffered as values but not yet in buffer. |
Object |
getOutputTarget()
|
int |
nextColumnIndex()
|
CsvEncoder |
overrideFormatFeatures(int feat)
|
CsvEncoder |
withSchema(CsvSchema schema)
|
void |
write(int columnIndex,
boolean value)
|
void |
write(int columnIndex,
char[] ch,
int offset,
int len)
|
void |
write(int columnIndex,
double value)
|
void |
write(int columnIndex,
float value)
|
void |
write(int columnIndex,
int value)
|
void |
write(int columnIndex,
long value)
|
void |
write(int columnIndex,
String value)
|
void |
writeColumnName(String name)
|
void |
writeNonEscaped(int columnIndex,
String rawValue)
|
void |
writeNull(int columnIndex)
|
void |
writeRaw(char c)
|
void |
writeRaw(char[] text,
int offset,
int len)
|
void |
writeRaw(String text)
|
void |
writeRaw(String text,
int start,
int len)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final int SHORT_WRITE
protected static final int MAX_QUOTE_CHECK
protected final BufferedValue[] NO_BUFFERED
protected final com.fasterxml.jackson.core.io.IOContext _ioContext
protected final Writer _out
Writer used for output.
protected final char _cfgColumnSeparator
protected final int _cfgQuoteCharacter
protected final int _cfgEscapeCharacter
protected final char[] _cfgLineSeparator
protected final char[] _cfgNullValue
protected final int _cfgLineSeparatorLength
protected int _cfgMaxQuoteCheckChars
protected final int _cfgMinSafeChar
protected int _csvFeatures
protected boolean _cfgOptimalQuoting
protected boolean _cfgIncludeMissingTail
protected boolean _cfgAlwaysQuoteStrings
protected int _columnCount
protected int _nextColumnToWrite
protected BufferedValue[] _buffered
protected int _lastBuffered
protected char[] _outputBuffer
_out.
protected boolean _bufferRecyclable
_outputBuffer is recyclable (and
needs to be returned to recycler once we are done) or not.
protected int _outputTail
_outputBuffer
protected final int _outputEnd
_outputBuffer.
Typically same as length of the buffer.
protected int _charsWritten
| Constructor Detail |
|---|
public CsvEncoder(com.fasterxml.jackson.core.io.IOContext ctxt,
int csvFeatures,
Writer out,
CsvSchema schema)
public CsvEncoder(CsvEncoder base,
CsvSchema newSchema)
| Method Detail |
|---|
public CsvEncoder withSchema(CsvSchema schema)
public CsvEncoder overrideFormatFeatures(int feat)
public Object getOutputTarget()
public int getOutputBuffered()
public int nextColumnIndex()
public final void write(int columnIndex,
String value)
throws IOException
IOException
public final void write(int columnIndex,
char[] ch,
int offset,
int len)
throws IOException
IOException
public final void write(int columnIndex,
int value)
throws IOException
IOException
public final void write(int columnIndex,
long value)
throws IOException
IOException
public final void write(int columnIndex,
float value)
throws IOException
IOException
public final void write(int columnIndex,
double value)
throws IOException
IOException
public final void write(int columnIndex,
boolean value)
throws IOException
IOException
public final void writeNonEscaped(int columnIndex,
String rawValue)
throws IOException
IOException
public final void writeNull(int columnIndex)
throws IOException
IOException
public final void writeColumnName(String name)
throws IOException
IOException
public void endRow()
throws IOException
IOException
protected void appendValue(String value)
throws IOException
IOException
protected void appendRawValue(String value)
throws IOException
IOException
protected void appendValue(int value)
throws IOException
IOException
protected void appendValue(long value)
throws IOException
IOException
protected void appendValue(float value)
throws IOException
IOException
protected void appendValue(double value)
throws IOException
IOException
protected void appendValue(boolean value)
throws IOException
IOException
protected void appendNull()
throws IOException
IOException
protected void _append(char[] ch)
throws IOException
IOException
protected void appendColumnSeparator()
throws IOException
IOException
public void writeRaw(String text)
throws IOException
IOException
public void writeRaw(String text,
int start,
int len)
throws IOException
IOException
public void writeRaw(char[] text,
int offset,
int len)
throws IOException
IOException
public void writeRaw(char c)
throws IOException
IOException
public void _writeQuoted(String text)
throws IOException
IOException
protected void _writeQuoted(String text,
char q,
int i)
throws IOException
IOException
public void _writeQuotedAndEscaped(String text,
char esc)
throws IOException
IOException
protected void _writeQuotedAndEscaped(String text,
char q,
char esc,
int i)
throws IOException
IOException
public void flush(boolean flushStream)
throws IOException
IOException
public void close(boolean autoClose)
throws IOException
IOException
protected boolean _mayNeedQuotes(String value,
int length)
protected final boolean _needsQuotingLoose(String value)
NOTE: final since checking is not expected to be changed here; override
calling method (_mayNeedQuotes) instead, if necessary.
protected final boolean _needsQuotingLoose(String value,
int esc)
protected boolean _needsQuotingStrict(String value)
protected boolean _needsQuotingStrict(String value,
int esc)
protected void _buffer(int index,
BufferedValue v)
protected void _flushBuffer()
throws IOException
IOExceptionpublic void _releaseBuffers()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||