Interface FieldSchemaBuilder<T extends FieldSchemaBuilder<T>>


@Public @Stable public interface FieldSchemaBuilder<T extends FieldSchemaBuilder<T>>
Build a field for a record.
  • Method Summary

    Modifier and Type
    Method
    Description
    aliases(String... aliases)
    The optional name aliases of this field.
    Set the default value of this field.
    doc(String doc)
    The documentation of this field.
    Make this field optional.
    property(String name, String val)
    Set name-value pair properties for this field.
    Make this field required.
    The type of this field.
  • Method Details

    • property

      T property(String name, String val)
      Set name-value pair properties for this field.
      Parameters:
      name - name of the property
      val - value of the property
      Returns:
      field schema builder
    • doc

      T doc(String doc)
      The documentation of this field.
      Parameters:
      doc - documentation
      Returns:
      field schema builder
    • aliases

      T aliases(String... aliases)
      The optional name aliases of this field.
      Parameters:
      aliases - the name aliases of this field
      Returns:
      field schema builder
    • type

      T type(SchemaType type)
      The type of this field.

      Currently only primitive types are supported.

      Parameters:
      type - schema type of this field
      Returns:
      field schema builder
    • optional

      T optional()
      Make this field optional.
      Returns:
      field schema builder
    • required

      T required()
      Make this field required.
      Returns:
      field schema builder
    • defaultValue

      T defaultValue(Object value)
      Set the default value of this field.

      The value is validated against the schema type.

      Returns:
      value