Package com.illumon.iris.importers
Class CsvFieldWriter
java.lang.Object
com.illumon.iris.importers.ImportFieldWriter
com.illumon.iris.importers.CsvFieldWriter
- Direct Known Subclasses:
CsvFieldWriter.EndOfRecordWriter
,CsvFieldWriter.RowFlagsWriter
,PartitionDateFileTimeFieldWriter
public abstract class CsvFieldWriter extends ImportFieldWriter
Abstract class providing methods used when reading data from CSV files to be written to Deephaven columns.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CsvFieldWriter.EndOfRecordWriter
static interface
CsvFieldWriter.Factory
Creates FieldWriters for passed ImporterColumnDefinitionsstatic class
CsvFieldWriter.ParseException
Exception class to be thrown by CsvFieldWriter subclasses when an error is encountered while parsing input.static class
CsvFieldWriter.RowFlagsWriter
-
Field Summary
-
Constructor Summary
Constructors Constructor Description CsvFieldWriter(com.fishlib.io.logger.Logger log, String dbColumnName, String delimiter)
-
Method Summary
Modifier and Type Method Description static BigDecimal
getBigDecimal(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, BigDecimal onEmpty)
Reads a BigDecimal value from a CSVRecordstatic Boolean
getBoolean(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, Boolean onEmpty)
Reads a Boolean value from a CSVRecord.static byte
getByte(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, byte onEmpty)
Reads a byte value from a CSVRecordstatic char
getChar(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, char onEmpty)
Reads a char value from a CSVRecordstatic double
getDouble(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, double onEmpty)
Reads a double value from a CSVRecordstatic float
getFloat(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, float onEmpty)
Reads a float value from a CSVRecordstatic int
getInt(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, int onEmpty)
Reads an int value from a CSVRecordstatic long
getISONanos(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, long onEmpty)
Reads a ISO formatted date value from a CSVRecord and converts it to nanoseconds since the epoch.static LocalDate
getLocalDate(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, LocalDate onEmpty)
Read a LocalDate value from a CSVRecord.static LocalTime
getLocalTime(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, LocalTime onEmpty)
Read a LocalTime value from a CSVRecord.static long
getLong(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, long onEmpty)
Reads a long value from a CSVRecordstatic short
getShort(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, short onEmpty)
Reads a short value from a CSVRecordString
getSourceValue(org.apache.commons.csv.CSVRecord record)
static String
getTrimmedStringNull(String value, String columnName)
Reads a String value from a CSVRecord.void
processField(org.apache.commons.csv.CSVRecord record)
Methods inherited from class com.illumon.iris.importers.ImportFieldWriter
accountingDouble, accountingInt, accountingLong, dbDateTimeFromLong, dbDateTimeFromTimestamp, dbDateTimeFromTimestamp, getBigDecimalArray, getBigDecimalArray, getBigDecimalArray, getBigIntegerArray, getBigIntegerArray, getBigIntegerArray, getBooleanArray, getBooleanArray, getBooleanArray, getByteArray, getByteArray, getByteArray, getCharArray, getCharArray, getCharArray, getDBDateTimeArray, getDoubleArray, getDoubleArray, getDoubleArray, getEnumFormatter, getFloatArray, getFloatArray, getFloatArray, getIntArray, getIntArray, getIntArray, getLocalDateArray, getLocalDateArray, getLocalDateArray, getLocalTimeArray, getLocalTimeArray, getLocalTimeArray, getLongArray, getLongArray, getLongArray, getShortArray, getShortArray, getShortArray, localDateFromString, parseBoolean, processField, stripFirstCharacter
-
Constructor Details
-
Method Details
-
getShort
@DynamicUse public static short getShort(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, short onEmpty)Reads a short value from a CSVRecord- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getInt
@DynamicUse public static int getInt(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, int onEmpty)Reads an int value from a CSVRecord- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getLong
@DynamicUse public static long getLong(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, long onEmpty)Reads a long value from a CSVRecord- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getISONanos
@DynamicUse public static long getISONanos(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, long onEmpty)Reads a ISO formatted date value from a CSVRecord and converts it to nanoseconds since the epoch. This parser is a little less strict than ISO, in that it will accept time zone offsets without colons.- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getDouble
@DynamicUse public static double getDouble(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, double onEmpty)Reads a double value from a CSVRecord- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getBigDecimal
@DynamicUse public static BigDecimal getBigDecimal(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, BigDecimal onEmpty)Reads a BigDecimal value from a CSVRecord- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getLocalDate
@DynamicUse public static LocalDate getLocalDate(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, LocalDate onEmpty)Read a LocalDate value from a CSVRecord.- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getLocalTime
@DynamicUse public static LocalTime getLocalTime(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, LocalTime onEmpty)Read a LocalTime value from a CSVRecord.- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getFloat
@DynamicUse public static float getFloat(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, float onEmpty)Reads a float value from a CSVRecord- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getChar
@DynamicUse public static char getChar(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, char onEmpty)Reads a char value from a CSVRecord- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getByte
@DynamicUse public static byte getByte(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, byte onEmpty)Reads a byte value from a CSVRecord- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getTrimmedStringNull
Reads a String value from a CSVRecord. Trims white space, and handles the special case of the word null being returned as a null String.- Returns:
- the read value, or a null String if the field contains the keyword "null"
-
getBoolean
@DynamicUse public static Boolean getBoolean(String value, String columnName, com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, Boolean onEmpty)Reads a Boolean value from a CSVRecord. parseBoolean handles interpretation of various text boolean expressions (true, false, 1, 0, T, F, etc).- Parameters:
value
- The value of the named column in the current row in the import filecolumnName
- The column name from which the value should be readlog
- The passed-down loggerstrict
- Whether strict (true) or permissive (false) import rules are being usedfailDefault
- Whether (true) to use the default value (onEmpty) if parsing/conversion of the source value failsonEmpty
- A default value that may be used if the source is empty or parsing fails- Returns:
- the converted value, or the onEmpty value, depending on strict, failDefault, and the source value itself
-
getSourceValue
-
processField
- Throws:
IOException
-