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
Abstract class providing methods used when reading data from CSV files to be written to Deephaven columns.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static interface
Creates FieldWriters for passed ImporterColumnDefinitionsstatic class
Exception class to be thrown by CsvFieldWriter subclasses when an error is encountered while parsing input.static class
-
Field Summary
Fields inherited from class com.illumon.iris.importers.ImportFieldWriter
log
-
Constructor Summary
ConstructorsConstructorDescriptionCsvFieldWriter
(com.fishlib.io.logger.Logger log, String dbColumnName, String delimiter) -
Method Summary
Modifier and TypeMethodDescriptionstatic 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 CSVRecordgetSourceValue
(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, getConstantColumnValue, 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, setImportProperties, stripFirstCharacter, toISONanos, updateWithConstantColumnValue
-
Constructor Details
-
CsvFieldWriter
-
-
Method Details
-
getSourceValue
-
processField
- Throws:
IOException
-
getShort
@DynamicUse public static short getShort(@NotNull String value, @Nullable String columnName, @NotNull 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(@NotNull String value, @Nullable String columnName, @NotNull 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(@NotNull String value, @Nullable String columnName, @NotNull 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(@Nullable String value, @Nullable String columnName, @NotNull 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(@NotNull String value, @Nullable String columnName, @NotNull 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(@NotNull String value, @Nullable String columnName, @NotNull com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, @Nullable 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(@NotNull String value, @Nullable String columnName, @NotNull com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, @Nullable 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(@NotNull String value, @Nullable String columnName, @NotNull com.fishlib.io.logger.Logger log, boolean strict, boolean failDefault, @Nullable 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(@NotNull String value, @Nullable String columnName, @NotNull 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(@Nullable String value, @Nullable String columnName, @NotNull 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(@Nullable String value, @Nullable String columnName, @NotNull 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
@DynamicUse public static String getTrimmedStringNull(@Nullable String value, @Nullable String columnName) 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(@NotNull String value, @Nullable String columnName, @NotNull 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
-