Class Field.Builder (2.36.0)

public static final class Field.Builder

Inheritance

java.lang.Object > Field.Builder

Methods

build()

public Field build()

Creates a Field object.

Returns
TypeDescription
Field

setCollation(String collation)

public Field.Builder setCollation(String collation)

Optional. Field collation can be set only when the type of field is STRING. The following values are supported:

* 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. (-- A wrapper is used here because it is possible to set the value to the empty string. --)

Parameter
NameDescription
collationString
Returns
TypeDescription
Field.Builder

setDefaultValueExpression(String defaultValueExpression)

public Field.Builder setDefaultValueExpression(String defaultValueExpression)

DefaultValueExpression is used to specify the default value of a field using a SQL expression. It can only be set for top level fields (columns).

You can use struct or array expression to specify default value for the entire struct or array. The valid SQL expressions are:

Literals for all data types, including STRUCT and ARRAY. The following functions:

  • CURRENT_TIMESTAMP
  • CURRENT_TIME
  • CURRENT_DATE
  • CURRENT_DATETIME
  • GENERATE_UUID
  • RAND
  • SESSION_USER
  • ST_GEOGPOINT

    Struct or array composed with the above allowed functions, for example: "[CURRENT_DATE(), DATE '2020-01-01']"

Parameter
NameDescription
defaultValueExpressionString
Returns
TypeDescription
Field.Builder

setDescription(String description)

public Field.Builder setDescription(String description)

Sets the field description. The maximum length is 16K characters.

Parameter
NameDescription
descriptionString
Returns
TypeDescription
Field.Builder

setMaxLength(Long maxLength)

public Field.Builder setMaxLength(Long maxLength)

Sets the maximum length of the field for STRING or BYTES type.

It is invalid to set value for types other than STRING or BYTES.

For STRING type, this represents the maximum UTF-8 length of strings allowed in the field. For BYTES type, this represents the maximum number of bytes in the field.

Parameter
NameDescription
maxLengthLong
Returns
TypeDescription
Field.Builder

setMode(Field.Mode mode)

public Field.Builder setMode(Field.Mode mode)

Sets the mode of the field. When not specified Mode#NULLABLE is used.

Parameter
NameDescription
modeField.Mode
Returns
TypeDescription
Field.Builder

setName(String name)

public Field.Builder setName(String name)

Sets the field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.

Parameter
NameDescription
nameString
Returns
TypeDescription
Field.Builder

setPolicyTags(PolicyTags policyTags)

public Field.Builder setPolicyTags(PolicyTags policyTags)

Sets the policy tags for the field.

Parameter
NameDescription
policyTagsPolicyTags
Returns
TypeDescription
Field.Builder

setPrecision(Long precision)

public Field.Builder setPrecision(Long precision)

Precision can be used to constrain the maximum number of total digits allowed for NUMERIC or BIGNUMERIC types. It is invalid to set values for Precision for types other than // NUMERIC or BIGNUMERIC. For NUMERIC type, acceptable values for Precision must be: 1 ≤ (Precision - Scale) ≤ 29. Values for Scale must be: 0 ≤ Scale ≤ 9. For BIGNUMERIC type, acceptable values for Precision must be: 1 ≤ (Precision - Scale) ≤ 38. Values for Scale must be: 0 ≤ Scale ≤ 38.

Parameter
NameDescription
precisionLong
Returns
TypeDescription
Field.Builder

setRangeElementType(FieldElementType rangeElementType)

public Field.Builder setRangeElementType(FieldElementType rangeElementType)

Optional. Field range element type can be set only when the type of field is RANGE.

Parameter
NameDescription
rangeElementTypeFieldElementType
Returns
TypeDescription
Field.Builder

setScale(Long scale)

public Field.Builder setScale(Long scale)

Scale can be used to constrain the maximum number of digits in the fractional part of a NUMERIC or BIGNUMERIC type. If the Scale value is set, the Precision value must be set as well. It is invalid to set values for Scale for types other than NUMERIC or BIGNUMERIC. See the Precision field for additional guidance about valid values.

Parameter
NameDescription
scaleLong
Returns
TypeDescription
Field.Builder

setType(LegacySQLTypeName type, Field[] subFields)

public Field.Builder setType(LegacySQLTypeName type, Field[] subFields)

Sets the type of the field. See Also: Data Types

Parameters
NameDescription
typeLegacySQLTypeName

BigQuery data type

subFieldsField[]

nested schema fields in case if type is LegacySQLTypeName#RECORD, empty otherwise

Returns
TypeDescription
Field.Builder

setType(LegacySQLTypeName type, FieldList subFields)

public Field.Builder setType(LegacySQLTypeName type, FieldList subFields)

Sets the type of the field. See Also: Data Types

Parameters
NameDescription
typeLegacySQLTypeName

BigQuery data type

subFieldsFieldList

nested schema fields, in case if type is LegacySQLTypeName#RECORD, null otherwise.

Returns
TypeDescription
Field.Builder

setType(StandardSQLTypeName type, Field[] subFields)

public Field.Builder setType(StandardSQLTypeName type, Field[] subFields)

Sets the type of the field. See Also: Data Types

Parameters
NameDescription
typeStandardSQLTypeName

BigQuery data type

subFieldsField[]

nested schema fields in case if type is StandardSQLTypeName#STRUCT, empty otherwise

Returns
TypeDescription
Field.Builder

setType(StandardSQLTypeName type, FieldList subFields)

public Field.Builder setType(StandardSQLTypeName type, FieldList subFields)

Sets the type of the field. See Also: Data Types

Parameters
NameDescription
typeStandardSQLTypeName

BigQuery data type

subFieldsFieldList

nested schema fields in case if type is StandardSQLTypeName#STRUCT, empty otherwise

Returns
TypeDescription
Field.Builder