Class V2LoggerColumn

java.lang.Object
io.deephaven.enterprise.schema.internal.V2LoggerColumn

@Immutable public abstract class V2LoggerColumn extends Object
  • Constructor Details

    • V2LoggerColumn

      public V2LoggerColumn()
  • Method Details

    • name

      public abstract String name()
      The name of the column in the schema and the log file
      Returns:
      the name of the column.
    • renamedFrom

      public abstract Optional<String> renamedFrom()
      The name the column should exist as in the log file.
    • inputType

      public abstract Optional<String> inputType()
      By default, the input types to the logger match the data type of the column definition.

      However, for DateTime columns the inputType can instead be any supported time-point (e.g., Instant, ZonedDateTime, or a long).

      Returns:
      the overridden input type for this column
    • objectInput

      public abstract Optional<String> objectInput()
      Returns:
      the map of column names to ObjectInputSources;
    • constant

      @Default public boolean constant()
      Is this column written as a constant in the header? By default, is false.
      Returns:
      true if this column is written as a constant in the header.
    • ignore

      @Default public boolean ignore()
      Should this column be ignored in the log file? By default, is false.
      Returns:
      true if this column should not be written to the log file.
    • deleted

      @Default public boolean deleted()
      Should this column be ignored in the listener? By default, is false.
      Returns:
      true if this column should be ignored while the DIS processes a log file.
    • instrumentationType

      public abstract Optional<V2Logger.InstrumentationType> instrumentationType()
      Should this column map to an instrumented value? These values are not written to the log, but are written to the table by the DIS.
    • deletedDataType

      public abstract Optional<String> deletedDataType()
      For a deleted column, what is the data type?
      Returns:
      the type of the deleted column.
    • logPrecision

      public abstract Optional<ChronoUnit> logPrecision()
      For a datetime, the precision that should be logged, in terms of a ChronoUnit.
      Returns:
      the precision that should be written down to our log. Defaults to nanos.
    • argumentPrecision

      public abstract Optional<ChronoUnit> argumentPrecision()
      For a datetime as a long input, what time unit is the user passing us. This is only valid with a temporal data type and an input type of long.
      Returns:
      the precision that should be used for long arguments, defaults to nanos
    • codec

      public abstract Optional<String> codec()
      The codec for writing this column, if specified.
      Returns:
      the codec that is used for writing this column, if specified.
    • codecArguments

      public abstract Optional<String> codecArguments()
      The codec's argument for writing this column, if specified.
      Returns:
      the codec arguments used for writing this column, if specified.
    • maxLoggedSize

      public abstract OptionalInt maxLoggedSize()
      The maximum size of the output for a column. Only valid for Strings and Blob columns.

      If a value is logged that would serialize to a size larger than this value, then the generated logger throws an IOException is thrown. If not specified, no specific checking is done on the size of this column.

      Returns:
      the maximum size that may be logged for this column.