Class AppendableColumnSinkFactory

java.lang.Object
com.illumon.iris.importers.csv.sink.AppendableColumnSinkFactory

public class AppendableColumnSinkFactory extends Object
Factory class that provides factory methods for sink columns
  • 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 logger
      columnName - The column name
      icdColDef - The associated ImporterColumnDefinition for the column
      columnDataTransformer - The associated CsvColumnDataTransformer (for custom data handling)
      isPartitionCol - Indicates if it is a partition column
      isColumnInSchema - Indicates if column is part of schema
      isColumnInSource - Indicates if the Column is sourced directly from a source column
      schemaHasPartitionCol - Indicates if the schema has a defined partition column
      fromSplitFile - 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 of AppendableColumnSinkHolder and returns it
      Parameters:
      log - The passed-down logger
      columnName - The source column name
      Returns:
      an instance of AppendableColumnSinkHolder