Class ProtobufDiscovery

java.lang.Object
io.deephaven.kafka.ingest.SchemaDiscovery
io.deephaven.kafka.ingest.ProtobufDiscovery

public class ProtobufDiscovery extends SchemaDiscovery
  • Method Details

    • enumAsInt

      @NotNull @ScriptApi public ProtobufDiscovery enumAsInt(boolean enumAsInt)
      Identifies schema-behavior for ProtoBuf ENUM types. By default, the ENUM name is stored as a String; this option may be used to identify that the ENUM value should be stored as an Int
      Parameters:
      enumAsInt - identifies if ENUMs should be stored as Int
      Returns:
      this builder
    • enumAsInt

      @NotNull @ScriptApi public ProtobufDiscovery enumAsInt()
      Identifies that ProtoBuf ENUM types should be stored by their Int value instead of their String name
      Returns:
      this builder
    • namespace

      @NotNull public ProtobufDiscovery namespace(@NotNull String namespace)
      Description copied from class: SchemaDiscovery
      Set the resulting namespace.
      Overrides:
      namespace in class SchemaDiscovery
      Parameters:
      namespace - the namespace of the result schema, if not set will be discovered from Avro schema
      Returns:
      this builder
    • tableName

      @NotNull public ProtobufDiscovery tableName(@NotNull String tableName)
      Description copied from class: SchemaDiscovery
      Set the resulting table name.
      Overrides:
      tableName in class SchemaDiscovery
      Parameters:
      tableName - the name of the result schema, if not set will be discovered from Avro schema
      Returns:
      this builder
    • columnPartition

      @NotNull public ProtobufDiscovery columnPartition(@NotNull String columnPartition)
      Description copied from class: SchemaDiscovery
      Set the column partition name.
      Overrides:
      columnPartition in class SchemaDiscovery
      Parameters:
      columnPartition - the name of the partitioning column
      Returns:
      this builder
    • kafkaPartitionColumn

      @NotNull public ProtobufDiscovery kafkaPartitionColumn(@NotNull String kafkaPartitionColumn)
      Description copied from class: SchemaDiscovery
      Set the name of a column to use for the Kafka partition.
      Overrides:
      kafkaPartitionColumn in class SchemaDiscovery
      Parameters:
      kafkaPartitionColumn - the name of the Kafka partition column
      Returns:
      this builder
    • kafkaOffsetColumn

      @NotNull public ProtobufDiscovery kafkaOffsetColumn(@NotNull String kafkaOffsetColumn)
      Description copied from class: SchemaDiscovery
      Set the name of a column to use for the Kafka offset.
      Overrides:
      kafkaOffsetColumn in class SchemaDiscovery
      Parameters:
      kafkaOffsetColumn - the name of the Kafka offset column
      Returns:
      this builder
    • kafkaTimestampColumn

      @NotNull public ProtobufDiscovery kafkaTimestampColumn(@NotNull String kafkaTimestampColumn)
      Description copied from class: SchemaDiscovery
      Set the name of a column to use for the Kafka timestamp.
      Overrides:
      kafkaTimestampColumn in class SchemaDiscovery
      Parameters:
      kafkaTimestampColumn - the name of the Kafka timestamp column
      Returns:
      this builder
    • kafkaKeyColumn

      @NotNull public ProtobufDiscovery kafkaKeyColumn(@NotNull String kafkaKeyColumn)
      Overrides:
      kafkaKeyColumn in class SchemaDiscovery
    • unmappableBehavior

      @NotNull public ProtobufDiscovery unmappableBehavior(@NotNull io.deephaven.kafka.ingest.SchemaDiscovery.UnmappableBehavior unmappableBehavior)
      Description copied from class: SchemaDiscovery
      Set what should happen when an unmappable type is encountered.
      Overrides:
      unmappableBehavior in class SchemaDiscovery
      Parameters:
      unmappableBehavior - the behavior on unmappable types
      Returns:
      this builder
    • generateDeephavenXml

      @NotNull public org.jdom2.Element generateDeephavenXml()
      Description copied from class: SchemaDiscovery
      Generates a Deephaven schema XML element using the parameters set in this builder.
      Specified by:
      generateDeephavenXml in class SchemaDiscovery
      Returns:
      a Deephaven schema XML element