Class UserDefinedType

java.lang.Object
org.apache.flink.table.types.logical.LogicalType
org.apache.flink.table.types.logical.UserDefinedType
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
DistinctType, StructuredType

@PublicEvolving public abstract class UserDefinedType extends LogicalType
Logical type of a user-defined representation for one or more built-in types. A user-defined type is either a distinct type or a structured type.

A UserDefinedType instance is the result of a catalog lookup or an anonymous, inline definition (for structured types only). Therefore, the serialized string representation is a unique ObjectIdentifier (if registered) or a representation does not exist (if unregistered).

NOTE: Compared to the SQL standard, this class and subclasses are incomplete. We might add new features such as method declarations in the future.

See Also:
  • Method Details

    • getObjectIdentifier

      public Optional<ObjectIdentifier> getObjectIdentifier()
    • isFinal

      public boolean isFinal()
    • getDescription

      public Optional<String> getDescription()
    • asSerializableString

      public String asSerializableString()
      Description copied from class: LogicalType
      Returns a string that fully serializes this instance. The serialized string can be used for transmitting or persisting a type.

      See LogicalTypeParser for the reverse operation.

      Specified by:
      asSerializableString in class LogicalType
      Returns:
      detailed string for transmission or persistence
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class LogicalType
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class LogicalType