@Immutable public final class Type extends Object implements Serializable
INT64 and STRING) or composite (for example, ARRAY<INT64> or STRUCT<INT64,STRING>).
Type instances are immutable.
| Modifier and Type | Class and Description |
|---|---|
static class |
Type.Code
Enumerates the categories of types.
|
static class |
Type.StructField
Describes an individual field in a
STRUCT type. |
| Modifier and Type | Method and Description |
|---|---|
static Type |
array(Type elementType)
Returns a descriptor for an array of
elementType. |
static Type |
bool()
Returns the descriptor for the
BOOL type. |
static Type |
bytes()
Returns the descriptor for the
BYTES type: a variable-length byte string. |
static Type |
date()
Returns the descriptor for the
DATE type: a timezone independent date in the range
[1678-01-01, 2262-01-01). |
boolean |
equals(Object o) |
static Type |
float64()
Returns the descriptor for the
FLOAT64 type: a floating point type with the same value
domain as a Java {code double}. |
Type |
getArrayElementType()
Returns the type descriptor for elements of this
ARRAY type. |
Type.Code |
getCode()
Returns the type code corresponding to this type.
|
int |
getFieldIndex(String fieldName)
Returns the index of the field named
fieldName in this STRUCT type. |
List<Type.StructField> |
getStructFields()
Returns the fields of this
STRUCT type. |
int |
hashCode() |
static Type |
int64()
Returns the descriptor for the
INT64 type: an integral type with the same value domain
as a Java long. |
static Type |
string()
Returns the descriptor for the
STRING type: a variable-length Unicode character string. |
static Type |
struct(Iterable<Type.StructField> fields)
Returns a descriptor for a
STRUCT type: an ordered collection of named and typed
fields. |
static Type |
struct(Type.StructField... fields)
Returns a descriptor for a
STRUCT type: an ordered collection of named and typed
fields. |
static Type |
timestamp()
Returns the descriptor for the
TIMESTAMP type: a nano precision timestamp in the range
[0000-01-01 00:00:00, 9999-12-31 23:59:59.999999999 UTC]. |
String |
toString() |
public static Type bool()
BOOL type.public static Type int64()
INT64 type: an integral type with the same value domain
as a Java long.public static Type float64()
FLOAT64 type: a floating point type with the same value
domain as a Java {code double}.public static Type string()
STRING type: a variable-length Unicode character string.public static Type bytes()
BYTES type: a variable-length byte string.public static Type timestamp()
TIMESTAMP type: a nano precision timestamp in the range
[0000-01-01 00:00:00, 9999-12-31 23:59:59.999999999 UTC].public static Type date()
DATE type: a timezone independent date in the range
[1678-01-01, 2262-01-01).public static Type struct(Iterable<Type.StructField> fields)
STRUCT type: an ordered collection of named and typed
fields.public static Type struct(Type.StructField... fields)
STRUCT type: an ordered collection of named and typed
fields.public Type.Code getCode()
public Type getArrayElementType()
ARRAY type.IllegalStateException - if code() != Code.ARRAYpublic List<Type.StructField> getStructFields()
STRUCT type.IllegalStateException - if code() != Code.STRUCTpublic int getFieldIndex(String fieldName)
fieldName in this STRUCT type.IllegalArgumentException - if there is not exactly one element of getStructFields() with Type.StructField.getName() equal to fieldNameIllegalStateException - if code() != Code.STRUCTCopyright © 2019 Google LLC. All rights reserved.