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 AppendableColumnSinkHoldermakeAppendableColumnSinkHolder(com.fishlib.io.logger.Logger log, String columnName) Creates an instance ofAppendableColumnSinkHolderand returns itstatic BaseAppendableColumnSinkmakeColumnSink(com.fishlib.io.logger.Logger log, String columnName, ImporterColumnDefinition icdColDef, ImportColumnDataTransformer columnDataTransformer, BaseCsvFieldWriter baseFieldWriter, boolean isPartitionCol, boolean isColumnInSchema, boolean isColumnInSource, boolean schemaHasPartitionCol, boolean fromSplitFile, boolean customSetterCol, CustomSetterSinkDataProcessor sinkDataProcessor) 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.SinkFactorymakeSinkFactory(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, @Nullable BaseCsvFieldWriter baseFieldWriter, boolean isPartitionCol, boolean isColumnInSchema, boolean isColumnInSource, boolean schemaHasPartitionCol, boolean fromSplitFile, boolean customSetterCol, CustomSetterSinkDataProcessor sinkDataProcessor) 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 associatedImporterColumnDefinitionfor the columncolumnDataTransformer- The associated CsvColumnDataTransformer (for custom data handling)baseFieldWriter- Required appropriate BaseFieldWriter instance if this is a custom setter columnisPartitionCol- Indicates if it is a partition columnisColumnInSchema- Indicates if column is part of schemaisColumnInSource- Indicates if column is in source (raw data file / inputStream)schemaHasPartitionCol- Indicates if the schema has a defined partition columnfromSplitFile- Indicates if source is a split file so partition logic can be ignoredcustomSetterCol- Should be true if this is a Custom Setter columnsinkDataProcessor- When there is a CustomSetter in schema this is required for all columns- 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 ofAppendableColumnSinkHolderand returns it- Parameters:
log- The passed-down loggercolumnName- The source column name- Returns:
- an instance of
AppendableColumnSinkHolder
-