Class SchemaV2Field

java.lang.Object
software.amazon.awssdk.services.s3tables.model.SchemaV2Field
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<SchemaV2Field.Builder,SchemaV2Field>

@Generated("software.amazon.awssdk:codegen") public final class SchemaV2Field extends Object implements SdkPojo, Serializable, ToCopyableBuilder<SchemaV2Field.Builder,SchemaV2Field>

Contains details about a schema field in the V2 format. This field format supports nested and complex data types such as struct, list, and map, in addition to primitive types.

See Also:
  • Method Details

    • id

      public final Integer id()

      The unique identifier for the schema field. Field IDs are used by Apache Iceberg to track schema evolution and maintain compatibility across schema changes.

      Returns:
      The unique identifier for the schema field. Field IDs are used by Apache Iceberg to track schema evolution and maintain compatibility across schema changes.
    • name

      public final String name()

      The name of the field.

      Returns:
      The name of the field.
    • type

      public final Document type()

      The data type of the field. This can be a primitive type string such as boolean, int, long, float, double, string, binary, date, timestamp, or timestamptz, or a complex type represented as a JSON object for nested types such as struct, list, or map. For more information, see the Apache Iceberg schemas and data types documentation.

      Returns:
      The data type of the field. This can be a primitive type string such as boolean, int, long, float, double, string, binary, date, timestamp, or timestamptz, or a complex type represented as a JSON object for nested types such as struct, list, or map. For more information, see the Apache Iceberg schemas and data types documentation.
    • required

      public final Boolean required()

      A Boolean value that specifies whether values are required for each row in this field. If this is true, the field does not allow null values.

      Returns:
      A Boolean value that specifies whether values are required for each row in this field. If this is true, the field does not allow null values.
    • doc

      public final String doc()

      An optional description of the field.

      Returns:
      An optional description of the field.
    • toBuilder

      public SchemaV2Field.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<SchemaV2Field.Builder,SchemaV2Field>
      Returns:
      a builder for type T
    • builder

      public static SchemaV2Field.Builder builder()
    • serializableBuilderClass

      public static Class<? extends SchemaV2Field.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.