Class ColumnInstructions

java.lang.Object
io.deephaven.iceberg.util.ColumnInstructions

@Immutable public abstract class ColumnInstructions extends Object
The instructions for mapping a Deephaven column in Resolver.columnInstructions().
  • Constructor Details

    • ColumnInstructions

      public ColumnInstructions()
  • Method Details

    • unmapped

      public static ColumnInstructions unmapped()
      Create an unmapped column instructions, where neither schema field nor partition field is referenced.
      Returns:
      the column instructions
    • schemaField

      public static ColumnInstructions schemaField(int fieldId)
      Create column instructions for a schema field by field id.
      Parameters:
      fieldId - the field id
      Returns:
      the column instructions
    • schemaFieldName

      public static ColumnInstructions schemaFieldName(String fieldName)
      Create column instructions for a schema field by field name.

      Warning: referencing a field by name is discouraged, as it is not guaranteed to be a stable reference across Schema evolution. This is provided as a convenience.

      Parameters:
      fieldName - the field name
      Returns:
      the column instructions
    • partitionField

      public static ColumnInstructions partitionField(int partitionFieldId)
      Create column instructions for a partition field.
      Parameters:
      partitionFieldId - the partition field id
      Returns:
      the column instructions
    • schemaFieldId

      public abstract OptionalInt schemaFieldId()
      The schema field id.
    • schemaFieldName

      public abstract Optional<String> schemaFieldName()
      The schema field name.
    • partitionFieldId

      public abstract OptionalInt partitionFieldId()
      The partition field id.
    • isUnmapped

      public final boolean isUnmapped()
      If this is an unmapped instructions. That is, there is no reference to a schema field nor partition field.