Class FileWriterConfig

java.lang.Object
io.deephaven.enterprise.binlog.channels.FileWriterConfig

@Immutable public abstract class FileWriterConfig extends Object
The configuration for creating file-based binary log writers.
See Also:
  • Constructor Details

    • FileWriterConfig

      public FileWriterConfig()
  • Method Details

    • builder

      public static FileWriterConfig.Builder builder()
      Creates a builder for FileWriterConfig.
      Returns:
      a new builder
    • builder

      public static FileWriterConfig.Builder builder(LoggerInfo<?> loggerInfo)
      Parameters:
      loggerInfo - the logger info
      Returns:
      the builder
    • directory

      public abstract Path directory()
      The directory.
      Returns:
      the directory
    • header

      public final ByteBuffer header()
      A new read-only header byte buffer. Callers are free to modify the position since a shallow copy is always returned from this method.
      Returns:
      the header
    • namespace

      public abstract String namespace()
      The namespace. Must be non-empty and not contain a period.
      Returns:
      the namespace
    • tableName

      public abstract String tableName()
      The table name. Must be non-empty and not contain a period.
      Returns:
      the table name
    • namespaceSet

      public abstract String namespaceSet()
      The namespace set. Must be "System" or "User".
      Returns:
      the namespace set
    • internalPartition

      public abstract String internalPartition()
      The internal partition. Must be non-empty and not contain a period.
      Returns:
      the internal partition
    • clock

      @Default public Clock clock()
      The clock which will be used to determine rolling and filename formatting behavior. By default, is Clock.systemDefaultZone().
      Returns:
      the clock
    • headerBehavior

      @Default public FileWriterConfig.ForceBehavior headerBehavior()
      The behavior after writing a new file's header. By default is FileWriterConfig.ForceBehavior.FORCE.
      Returns:
      the header behavior
    • closeBehavior

      @Default public FileWriterConfig.ForceBehavior closeBehavior()
      The close behavior. By default is FileWriterConfig.ForceBehavior.NONE.
      Returns:
      the close behavior
    • path

      public final Path path(String columnPartition, ZonedDateTime time)
      The path for the standard binary log file naming convention given columnPartition and time. Equivalent to directory().resolve(BinaryLogFilename.filename(namespace(), tableName(), namespaceSet(), internalPartition(), columnPartition, time)).
      Parameters:
      columnPartition - the column partition
      time - the time
      Returns:
      the path
      See Also:
    • path

      public final Path path(String columnPartition, String time)
      The path for the standard binary log file naming convention given columnPartition and time. Equivalent to directory().resolve(BinaryLogFilename.filename(namespace(), tableName(), namespaceSet(), internalPartition(), columnPartition, time)).
      Parameters:
      columnPartition - the column partition
      time - the time
      Returns:
      the path
      See Also: