Package org.apache.metamodel.csv
Class CsvConfiguration
- java.lang.Object
-
- org.apache.metamodel.util.BaseObject
-
- org.apache.metamodel.csv.CsvConfiguration
-
- All Implemented Interfaces:
Serializable
public final class CsvConfiguration extends org.apache.metamodel.util.BaseObject implements Serializable
Represents the configuration for reading/parsing CSV files.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_COLUMN_NAME_LINEstatic charDEFAULT_ESCAPE_CHARstatic charDEFAULT_QUOTE_CHARstatic charDEFAULT_SEPARATOR_CHARstatic intNO_COLUMN_NAME_LINEstatic charNOT_A_CHARThe value is '\\uFFFF', the "not a character" value which should not occur in any valid Unicode string.
-
Constructor Summary
Constructors Constructor Description CsvConfiguration()CsvConfiguration(int columnNameLineNumber)CsvConfiguration(int columnNameLineNumber, boolean failOnInconsistentRowLength, boolean multilineValues)CsvConfiguration(int columnNameLineNumber, String encoding, char separatorChar, char quoteChar, char escapeChar)CsvConfiguration(int columnNameLineNumber, String encoding, char separatorChar, char quoteChar, char escapeChar, boolean failOnInconsistentRowLength)CsvConfiguration(int columnNameLineNumber, String encoding, char separatorChar, char quoteChar, char escapeChar, boolean failOnInconsistentRowLength, boolean multilineValues)CsvConfiguration(int columnNameLineNumber, org.apache.metamodel.schema.naming.ColumnNamingStrategy columnNamingStrategy, String encoding, char separatorChar, char quoteChar, char escapeChar, boolean failOnInconsistentRowLength, boolean multilineValues)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddecorateIdentity(List<Object> identifiers)intgetColumnNameLineNumber()The line number (1 based) from which to get the names of the columns.org.apache.metamodel.schema.naming.ColumnNamingStrategygetColumnNamingStrategy()Gets aColumnNamingStrategyto use if needed.StringgetEncoding()Gets the file encoding to use for reading the file.chargetEscapeChar()Gets the escape char, used for escaping eg.chargetQuoteChar()Gets the quote char, used for encapsulating values.chargetSeparatorChar()Gets the separator char (typically comma or semicolon) for separating values.booleanisFailOnInconsistentRowLength()Determines whether to fail (by throwing anInconsistentRowLengthException) if a line in the CSV file has inconsistent amounts of columns.booleanisMultilineValues()Determines whether the CSV files read using this configuration should be allowed to have multiline values in them.StringtoString()
-
-
-
Field Detail
-
NOT_A_CHAR
public static final char NOT_A_CHAR
The value is '\\uFFFF', the "not a character" value which should not occur in any valid Unicode string. This special char can be used to disable either quote chars or escape chars.- See Also:
- Constant Field Values
-
NO_COLUMN_NAME_LINE
public static final int NO_COLUMN_NAME_LINE
- See Also:
- Constant Field Values
-
DEFAULT_COLUMN_NAME_LINE
public static final int DEFAULT_COLUMN_NAME_LINE
- See Also:
- Constant Field Values
-
DEFAULT_SEPARATOR_CHAR
public static final char DEFAULT_SEPARATOR_CHAR
- See Also:
- Constant Field Values
-
DEFAULT_QUOTE_CHAR
public static final char DEFAULT_QUOTE_CHAR
- See Also:
- Constant Field Values
-
DEFAULT_ESCAPE_CHAR
public static final char DEFAULT_ESCAPE_CHAR
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CsvConfiguration
public CsvConfiguration()
-
CsvConfiguration
public CsvConfiguration(int columnNameLineNumber)
-
CsvConfiguration
public CsvConfiguration(int columnNameLineNumber, boolean failOnInconsistentRowLength, boolean multilineValues)
-
CsvConfiguration
public CsvConfiguration(int columnNameLineNumber, String encoding, char separatorChar, char quoteChar, char escapeChar)
-
CsvConfiguration
public CsvConfiguration(int columnNameLineNumber, String encoding, char separatorChar, char quoteChar, char escapeChar, boolean failOnInconsistentRowLength)
-
CsvConfiguration
public CsvConfiguration(int columnNameLineNumber, String encoding, char separatorChar, char quoteChar, char escapeChar, boolean failOnInconsistentRowLength, boolean multilineValues)
-
CsvConfiguration
public CsvConfiguration(int columnNameLineNumber, org.apache.metamodel.schema.naming.ColumnNamingStrategy columnNamingStrategy, String encoding, char separatorChar, char quoteChar, char escapeChar, boolean failOnInconsistentRowLength, boolean multilineValues)
-
-
Method Detail
-
getColumnNamingStrategy
public org.apache.metamodel.schema.naming.ColumnNamingStrategy getColumnNamingStrategy()
Gets aColumnNamingStrategyto use if needed.- Returns:
-
isFailOnInconsistentRowLength
public boolean isFailOnInconsistentRowLength()
Determines whether to fail (by throwing anInconsistentRowLengthException) if a line in the CSV file has inconsistent amounts of columns. If set to false (default) MetaModel will gracefully fill in missing null values in or ignore additional values in a line.- Returns:
- a boolean indicating whether to fail or gracefully compensate for inconsistent lines in the CSV files.
-
isMultilineValues
public boolean isMultilineValues()
Determines whether the CSV files read using this configuration should be allowed to have multiline values in them.- Returns:
-
getColumnNameLineNumber
public int getColumnNameLineNumber()
The line number (1 based) from which to get the names of the columns.- Returns:
- the line number (1 based)
-
getEncoding
public String getEncoding()
Gets the file encoding to use for reading the file.- Returns:
- the text encoding of the file.
-
getSeparatorChar
public char getSeparatorChar()
Gets the separator char (typically comma or semicolon) for separating values.- Returns:
- the separator char
-
getQuoteChar
public char getQuoteChar()
Gets the quote char, used for encapsulating values.- Returns:
- the quote char
-
getEscapeChar
public char getEscapeChar()
Gets the escape char, used for escaping eg. quote chars inside values.- Returns:
- the escape char
-
decorateIdentity
protected void decorateIdentity(List<Object> identifiers)
- Specified by:
decorateIdentityin classorg.apache.metamodel.util.BaseObject
-
toString
public String toString()
- Overrides:
toStringin classorg.apache.metamodel.util.BaseObject
-
-