Class BasicTypeInfo<T>
- java.lang.Object
-
- org.apache.flink.api.common.typeinfo.TypeInformation<T>
-
- org.apache.flink.api.common.typeinfo.BasicTypeInfo<T>
-
- All Implemented Interfaces:
Serializable
,AtomicType<T>
- Direct Known Subclasses:
BigDecimalTypeInfo
,LegacyInstantTypeInfo
,NumericTypeInfo
@Public public class BasicTypeInfo<T> extends TypeInformation<T> implements AtomicType<T>
Type information for primitive types (int, long, double, byte, ...), String, Date, Void, BigInteger, and BigDecimal.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static BasicTypeInfo<BigDecimal>
BIG_DEC_TYPE_INFO
static BasicTypeInfo<BigInteger>
BIG_INT_TYPE_INFO
static BasicTypeInfo<Boolean>
BOOLEAN_TYPE_INFO
static BasicTypeInfo<Byte>
BYTE_TYPE_INFO
static BasicTypeInfo<Character>
CHAR_TYPE_INFO
static BasicTypeInfo<Date>
DATE_TYPE_INFO
static BasicTypeInfo<Double>
DOUBLE_TYPE_INFO
static BasicTypeInfo<Float>
FLOAT_TYPE_INFO
static BasicTypeInfo<Instant>
INSTANT_TYPE_INFO
static BasicTypeInfo<Integer>
INT_TYPE_INFO
static BasicTypeInfo<Long>
LONG_TYPE_INFO
static BasicTypeInfo<Short>
SHORT_TYPE_INFO
static BasicTypeInfo<String>
STRING_TYPE_INFO
static BasicTypeInfo<Void>
VOID_TYPE_INFO
-
Constructor Summary
Constructors Modifier Constructor Description protected
BasicTypeInfo(Class<T> clazz, Class<?>[] possibleCastTargetTypes, TypeSerializer<T> serializer, Class<? extends TypeComparator<T>> comparatorClass)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canEqual(Object obj)
Returns true if the given object can be equaled with this object.TypeComparator<T>
createComparator(boolean sortOrderAscending, ExecutionConfig executionConfig)
Creates a comparator for this type.TypeSerializer<T>
createSerializer(SerializerConfig serializerConfig)
Creates a serializer for the type.boolean
equals(Object obj)
int
getArity()
Gets the arity of this type - the number of fields without nesting.static <X> BasicTypeInfo<X>
getInfoFor(Class<X> type)
int
getTotalFields()
Gets the number of logical fields in this type.Class<T>
getTypeClass()
Gets the class of the type represented by this type information.int
hashCode()
boolean
isBasicType()
Checks if this type information represents a basic type.boolean
isKeyType()
Checks whether this type can be used as a key.boolean
isTupleType()
Checks if this type information represents a Tuple type.boolean
shouldAutocastTo(BasicTypeInfo<?> to)
Returns whether this type should be automatically casted to the target type in an arithmetic operation.String
toString()
-
Methods inherited from class org.apache.flink.api.common.typeinfo.TypeInformation
getGenericParameters, isSortKeyType, of, of
-
-
-
-
Field Detail
-
STRING_TYPE_INFO
public static final BasicTypeInfo<String> STRING_TYPE_INFO
-
BOOLEAN_TYPE_INFO
public static final BasicTypeInfo<Boolean> BOOLEAN_TYPE_INFO
-
BYTE_TYPE_INFO
public static final BasicTypeInfo<Byte> BYTE_TYPE_INFO
-
SHORT_TYPE_INFO
public static final BasicTypeInfo<Short> SHORT_TYPE_INFO
-
INT_TYPE_INFO
public static final BasicTypeInfo<Integer> INT_TYPE_INFO
-
LONG_TYPE_INFO
public static final BasicTypeInfo<Long> LONG_TYPE_INFO
-
FLOAT_TYPE_INFO
public static final BasicTypeInfo<Float> FLOAT_TYPE_INFO
-
DOUBLE_TYPE_INFO
public static final BasicTypeInfo<Double> DOUBLE_TYPE_INFO
-
CHAR_TYPE_INFO
public static final BasicTypeInfo<Character> CHAR_TYPE_INFO
-
DATE_TYPE_INFO
public static final BasicTypeInfo<Date> DATE_TYPE_INFO
-
VOID_TYPE_INFO
public static final BasicTypeInfo<Void> VOID_TYPE_INFO
-
BIG_INT_TYPE_INFO
public static final BasicTypeInfo<BigInteger> BIG_INT_TYPE_INFO
-
BIG_DEC_TYPE_INFO
public static final BasicTypeInfo<BigDecimal> BIG_DEC_TYPE_INFO
-
INSTANT_TYPE_INFO
public static final BasicTypeInfo<Instant> INSTANT_TYPE_INFO
-
-
Constructor Detail
-
BasicTypeInfo
protected BasicTypeInfo(Class<T> clazz, Class<?>[] possibleCastTargetTypes, TypeSerializer<T> serializer, Class<? extends TypeComparator<T>> comparatorClass)
-
-
Method Detail
-
shouldAutocastTo
@PublicEvolving public boolean shouldAutocastTo(BasicTypeInfo<?> to)
Returns whether this type should be automatically casted to the target type in an arithmetic operation.
-
isBasicType
@PublicEvolving public boolean isBasicType()
Description copied from class:TypeInformation
Checks if this type information represents a basic type. Basic types are defined inBasicTypeInfo
and are primitives, their boxing types, Strings, Date, Void, ...- Specified by:
isBasicType
in classTypeInformation<T>
- Returns:
- True, if this type information describes a basic type, false otherwise.
-
isTupleType
@PublicEvolving public boolean isTupleType()
Description copied from class:TypeInformation
Checks if this type information represents a Tuple type. Tuple types are subclasses of the Java API tuples.- Specified by:
isTupleType
in classTypeInformation<T>
- Returns:
- True, if this type information describes a tuple type, false otherwise.
-
getArity
@PublicEvolving public int getArity()
Description copied from class:TypeInformation
Gets the arity of this type - the number of fields without nesting.- Specified by:
getArity
in classTypeInformation<T>
- Returns:
- Gets the number of fields in this type without nesting.
-
getTotalFields
@PublicEvolving public int getTotalFields()
Description copied from class:TypeInformation
Gets the number of logical fields in this type. This includes its nested and transitively nested fields, in the case of composite types. In the example above, the OuterType type has three fields in total.The total number of fields must be at least 1.
- Specified by:
getTotalFields
in classTypeInformation<T>
- Returns:
- The number of fields in this type, including its sub-fields (for composite types)
-
getTypeClass
@PublicEvolving public Class<T> getTypeClass()
Description copied from class:TypeInformation
Gets the class of the type represented by this type information.- Specified by:
getTypeClass
in classTypeInformation<T>
- Returns:
- The class of the type represented by this type information.
-
isKeyType
@PublicEvolving public boolean isKeyType()
Description copied from class:TypeInformation
Checks whether this type can be used as a key. As a bare minimum, types have to be hashable and comparable to be keys.- Specified by:
isKeyType
in classTypeInformation<T>
- Returns:
- True, if the type can be used as a key, false otherwise.
-
createSerializer
@PublicEvolving public TypeSerializer<T> createSerializer(SerializerConfig serializerConfig)
Description copied from class:TypeInformation
Creates a serializer for the type. The serializer may use the ExecutionConfig for parameterization.- Specified by:
createSerializer
in classTypeInformation<T>
- Parameters:
serializerConfig
- The config used to parameterize the serializer.- Returns:
- A serializer for this type.
-
createComparator
@PublicEvolving public TypeComparator<T> createComparator(boolean sortOrderAscending, ExecutionConfig executionConfig)
Description copied from interface:AtomicType
Creates a comparator for this type.- Specified by:
createComparator
in interfaceAtomicType<T>
- Parameters:
sortOrderAscending
- True, if the comparator should define the order to be ascending, false, if the comparator should define the order to be descending.executionConfig
- The config from which the comparator will be parametrized. Parametrization includes for example registration of class tags for frameworks like Kryo.- Returns:
- A comparator for this type.
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classTypeInformation<T>
-
canEqual
public boolean canEqual(Object obj)
Description copied from class:TypeInformation
Returns true if the given object can be equaled with this object. If not, it returns false.- Specified by:
canEqual
in classTypeInformation<T>
- Parameters:
obj
- Object which wants to take part in the equality relation- Returns:
- true if obj can be equaled with this, otherwise false
-
equals
public boolean equals(Object obj)
- Specified by:
equals
in classTypeInformation<T>
-
toString
public String toString()
- Specified by:
toString
in classTypeInformation<T>
-
getInfoFor
@PublicEvolving public static <X> BasicTypeInfo<X> getInfoFor(Class<X> type)
-
-