|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.fasterxml.jackson.dataformat.csv.CsvSchema
public class CsvSchema
Simple FormatSchema
sub-type that defines properties of
a CSV document to read or write.
Properties supported currently are:
Note that schemas without any columns are legal, but if no columns are added, behavior of parser/generator is usually different and content will be exposed as logical Arrays instead of Objects.
There are 4 ways to create CsvSchema
instances:
CsvSchema.Builder
withXxx
methods
or rebuild()
for creating CsvSchema.Builder
)
CsvMapper
methods like CsvMapper.schemaFor(java.lang.Class)
.
CsvParser
reads schema from the first line:
enable "useHeader" property for the initial schema, and let parser
read column names from the document itself.
Nested Class Summary | |
---|---|
static class |
CsvSchema.Builder
Class used for building CsvSchema instances. |
static class |
CsvSchema.Column
|
static class |
CsvSchema.ColumnType
Enumeration that defines optional type indicators that can be passed with schema. |
Field Summary | |
---|---|
protected CsvSchema.Column[] |
_columns
Column definitions, needed for optional header and/or mapping of field names to column positions. |
protected Map<String,CsvSchema.Column> |
_columnsByName
|
protected char |
_columnSeparator
|
protected int |
_escapeChar
|
protected char[] |
_lineSeparator
|
protected char |
_quoteChar
|
protected boolean |
_skipFirstDataRow
|
protected boolean |
_useHeader
|
static char |
DEFAULT_COLUMN_SEPARATOR
|
static int |
DEFAULT_ESCAPE_CHAR
By default, no escape character is used -- this is denoted by int value that does not map to a valid character |
static char[] |
DEFAULT_LINEFEED
|
static char |
DEFAULT_QUOTE_CHAR
|
static boolean |
DEFAULT_SKIP_FIRST_DATA_ROW
|
static boolean |
DEFAULT_USE_HEADER
By default we do NOT expect the first line to be header. |
protected static CsvSchema.Column[] |
NO_COLUMNS
|
Constructor Summary | |
---|---|
|
CsvSchema(CsvSchema.Column[] columns,
boolean useHeader,
boolean skipFirstDataRow,
char columnSeparator,
char quoteChar,
int escapeChar,
char[] lineSeparator)
|
protected |
CsvSchema(CsvSchema.Column[] columns,
boolean useHeader,
boolean skipFirstDataRow,
char columnSeparator,
char quoteChar,
int escapeChar,
char[] lineSeparator,
Map<String,CsvSchema.Column> columnsByName)
Copy constructor used for creating variants using withXxx() methods. |
Method Summary | |
---|---|
static CsvSchema.Builder |
builder()
|
CsvSchema.Column |
column(int index)
|
CsvSchema.Column |
column(String name)
|
static CsvSchema |
emptySchema()
Accessor for creating a "default" CSV schema instance, with following settings: Does NOT use header line Uses double quotes ('"') for quoting of field values (if necessary) Uses comma (',') as the field separator Uses Unix linefeed ('\n') as row separator Does NOT use any escape characters Does NOT have any columns defined |
String |
getColumnDesc()
Method for getting description of column definitions in developer-readable form |
char |
getColumnSeparator()
|
int |
getEscapeChar()
|
char[] |
getLineSeparator()
|
char |
getQuoteChar()
|
String |
getSchemaType()
|
Iterator<CsvSchema.Column> |
iterator()
|
CsvSchema.Builder |
rebuild()
Helper method for constructing Builder that can be used to create modified schema. |
int |
size()
|
boolean |
skipFirstDataRow()
|
String |
toString()
|
boolean |
useHeader()
|
CsvSchema |
withColumnSeparator(char sep)
|
CsvSchema |
withEscapeChar(char c)
|
CsvSchema |
withHeader()
Helper method for construcing and returning schema instance that is similar to this one, except that it will be using header line. |
CsvSchema |
withLineSeparator(String sep)
|
CsvSchema |
withoutColumns()
|
CsvSchema |
withoutEscapeChar()
|
CsvSchema |
withoutHeader()
Helper method for construcing and returning schema instance that is similar to this one, except that it will not be using header line. |
CsvSchema |
withQuoteChar(char c)
|
CsvSchema |
withSkipFirstDataRow(boolean state)
|
CsvSchema |
withUseHeader(boolean state)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected static final CsvSchema.Column[] NO_COLUMNS
public static final char DEFAULT_COLUMN_SEPARATOR
public static final char DEFAULT_QUOTE_CHAR
public static final int DEFAULT_ESCAPE_CHAR
public static final char[] DEFAULT_LINEFEED
public static final boolean DEFAULT_USE_HEADER
public static final boolean DEFAULT_SKIP_FIRST_DATA_ROW
protected final CsvSchema.Column[] _columns
protected final Map<String,CsvSchema.Column> _columnsByName
protected final boolean _useHeader
protected final boolean _skipFirstDataRow
protected final char _columnSeparator
protected final char _quoteChar
protected final int _escapeChar
protected final char[] _lineSeparator
Constructor Detail |
---|
public CsvSchema(CsvSchema.Column[] columns, boolean useHeader, boolean skipFirstDataRow, char columnSeparator, char quoteChar, int escapeChar, char[] lineSeparator)
protected CsvSchema(CsvSchema.Column[] columns, boolean useHeader, boolean skipFirstDataRow, char columnSeparator, char quoteChar, int escapeChar, char[] lineSeparator, Map<String,CsvSchema.Column> columnsByName)
withXxx()
methods.
Method Detail |
---|
public static CsvSchema.Builder builder()
public static CsvSchema emptySchema()
public CsvSchema.Builder rebuild()
public CsvSchema withUseHeader(boolean state)
public CsvSchema withHeader()
public CsvSchema withoutHeader()
public CsvSchema withSkipFirstDataRow(boolean state)
public CsvSchema withColumnSeparator(char sep)
public CsvSchema withQuoteChar(char c)
public CsvSchema withEscapeChar(char c)
public CsvSchema withoutEscapeChar()
public CsvSchema withLineSeparator(String sep)
public CsvSchema withoutColumns()
public String getSchemaType()
getSchemaType
in interface com.fasterxml.jackson.core.FormatSchema
public boolean useHeader()
public boolean skipFirstDataRow()
public char getColumnSeparator()
public char getQuoteChar()
public int getEscapeChar()
public char[] getLineSeparator()
public Iterator<CsvSchema.Column> iterator()
iterator
in interface Iterable<CsvSchema.Column>
public int size()
public CsvSchema.Column column(int index)
public CsvSchema.Column column(String name)
public String getColumnDesc()
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |