Interface AbstractDataType<T extends AbstractDataType<T>>
-
- Type Parameters:
T
- kind of data type returned after mutation
- All Known Implementing Classes:
AtomicDataType
,CollectionDataType
,DataType
,FieldsDataType
,KeyValueDataType
,UnresolvedDataType
@PublicEvolving public interface AbstractDataType<T extends AbstractDataType<T>>
Highest abstraction that describes the data type of a value in the table ecosystem. This class describes two kinds of data types:Fully resolved data types that can be used directly to declare input and/or output types of operations. This kind is represented in subclasses of
DataType
.Partially resolved data types that can be resolved to
DataType
but require a lookup in a catalog or configuration first. This kind is represented in subclasses ofUnresolvedDataType
.Note: Use
DataTypes
for producing instances of this class.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description T
bridgedTo(Class<?> newConversionClass)
Adds a hint that data should be represented using the given class when entering or leaving the table ecosystem.T
notNull()
Adds a hint that null values are not expected in the data for this type.T
nullable()
Adds a hint that null values are expected in the data for this type (default behavior).
-
-
-
Method Detail
-
notNull
T notNull()
Adds a hint that null values are not expected in the data for this type.- Returns:
- a new, reconfigured data type instance
-
nullable
T nullable()
Adds a hint that null values are expected in the data for this type (default behavior).This method exists for explicit declaration of the default behavior or for invalidation of a previous call to
notNull()
.- Returns:
- a new, reconfigured data type instance
-
bridgedTo
T bridgedTo(Class<?> newConversionClass)
Adds a hint that data should be represented using the given class when entering or leaving the table ecosystem.A supported conversion class depends on the logical type and its nullability property.
Please see the implementation of
LogicalType.supportsInputConversion(Class)
,LogicalType.supportsOutputConversion(Class)
, or the documentation for more information about supported conversions.- Returns:
- a new, reconfigured data type instance
-
-