Class SchemaBuilder.FieldBuilder<R>

Enclosing class:
SchemaBuilder

public static final class SchemaBuilder.FieldBuilder<R> extends SchemaBuilder.NamedBuilder<SchemaBuilder.FieldBuilder<R>>
Builds a Field in the context of a SchemaBuilder.FieldAssembler. Usage is to first configure any of the optional parameters and then to call one of the type methods to complete the field. For example
   .namespace("org.apache.example").orderDescending().type()
 
Optional parameters for a field are namespace, doc, order, and aliases.
  • Method Details

    • orderAscending

      public SchemaBuilder.FieldBuilder<R> orderAscending()
      Set this field to have ascending order. Ascending is the default
    • orderDescending

      public SchemaBuilder.FieldBuilder<R> orderDescending()
      Set this field to have descending order. Descending is the default
    • orderIgnore

      public SchemaBuilder.FieldBuilder<R> orderIgnore()
      Set this field to ignore order.
    • validatingDefaults

      public SchemaBuilder.FieldBuilder<R> validatingDefaults()
      Validate field default value during completeField(Schema, JsonNode).
    • notValidatingDefaults

      public SchemaBuilder.FieldBuilder<R> notValidatingDefaults()
      Skip field default value validation during completeField(Schema, JsonNode)}
    • type

      Final step in configuring this field, finalizing name, namespace, alias, and order.
      Returns:
      A builder for the field's type and default value.
    • type

      public SchemaBuilder.GenericDefault<R> type(Schema type)
      Final step in configuring this field, finalizing name, namespace, alias, and order. Sets the field's type to the provided schema, returns a SchemaBuilder.GenericDefault.
    • type

      public SchemaBuilder.GenericDefault<R> type(String name)
      Final step in configuring this field, finalizing name, namespace, alias, and order. Sets the field's type to the schema by name reference.

      The name must correspond with a named schema that has already been created in the context of this builder. The name may be a fully qualified name, or a short name. If it is a short name, the namespace context of this builder will be used.

      The name and namespace context rules are the same as the Avro schema JSON specification.

    • type

      public SchemaBuilder.GenericDefault<R> type(String name, String namespace)
      Final step in configuring this field, finalizing name, namespace, alias, and order. Sets the field's type to the schema by name reference.

      The name must correspond with a named schema that has already been created in the context of this builder. The name may be a fully qualified name, or a short name. If it is a full name, the namespace is ignored. If it is a short name, the namespace provided is used. If the namespace provided is null, the namespace context of this builder will be used.

      The name and namespace context rules are the same as the Avro schema JSON specification.

    • self

      protected SchemaBuilder.FieldBuilder<R> self()
      Description copied from class: SchemaBuilder.PropBuilder
      a self-type for chaining builder subclasses. Concrete subclasses must return 'this'
      Specified by:
      self in class SchemaBuilder.PropBuilder<SchemaBuilder.FieldBuilder<R>>