Class AppendableColumnSinkFactory
java.lang.Object
com.illumon.iris.importers.csv.sink.AppendableColumnSinkFactory
Factory class that provides factory methods for sink columns
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic AppendableColumnSinkHolder
makeAppendableColumnSinkHolder
(com.fishlib.io.logger.Logger log, String columnName) Creates an instance ofAppendableColumnSinkHolder
and returns itstatic BaseAppendableColumnSink
makeColumnSink
(com.fishlib.io.logger.Logger log, String columnName, ImporterColumnDefinition icdColDef, ImportColumnDataTransformer columnDataTransformer, boolean isPartitionCol, boolean isColumnInSchema, boolean isColumnInSource, boolean schemaHasPartitionCol, boolean fromSplitFile) Returns a column sink of String data type or the data type defined in ImporterColumnDefinition if it is not null.static io.deephaven.csv.sinks.SinkFactory
makeSinkFactory
(AppendableColumnSink[] columnSinks) Returns SinkFactory that creates an appropriate AppendableSink by column index.
-
Constructor Details
-
AppendableColumnSinkFactory
public AppendableColumnSinkFactory()
-
-
Method Details
-
makeSinkFactory
public static io.deephaven.csv.sinks.SinkFactory makeSinkFactory(@NotNull AppendableColumnSink[] columnSinks) Returns SinkFactory that creates an appropriate AppendableSink by column index.- Parameters:
columnSinks
- array that holds all the columns in the same order as present in csv data file- Returns:
- SinkFactory that creates the appropriate AppendableSink by column index
-
makeColumnSink
public static BaseAppendableColumnSink makeColumnSink(@NotNull com.fishlib.io.logger.Logger log, @NotNull String columnName, @Nullable ImporterColumnDefinition icdColDef, @Nullable ImportColumnDataTransformer columnDataTransformer, boolean isPartitionCol, boolean isColumnInSchema, boolean isColumnInSource, boolean schemaHasPartitionCol, boolean fromSplitFile) Returns a column sink of String data type or the data type defined in ImporterColumnDefinition if it is not null.- Parameters:
log
- The passed-down loggercolumnName
- The column nameicdColDef
- The associatedImporterColumnDefinition
for the columncolumnDataTransformer
- The associated CsvColumnDataTransformer (for custom data handling)isPartitionCol
- Indicates if it is a partition columnisColumnInSchema
- Indicates if column is part of schemaisColumnInSource
- Indicates if the Column is sourced directly from a source columnschemaHasPartitionCol
- Indicates if the schema has a defined partition columnfromSplitFile
- Indicates if the import was initiated from a split file- Returns:
- The new instance of an applicable BaseAppendableColumnSink implementation
-
makeAppendableColumnSinkHolder
public static AppendableColumnSinkHolder makeAppendableColumnSinkHolder(@NotNull com.fishlib.io.logger.Logger log, @NotNull String columnName) Creates an instance ofAppendableColumnSinkHolder
and returns it- Parameters:
log
- The passed-down loggercolumnName
- The source column name- Returns:
- an instance of
AppendableColumnSinkHolder
-