Class Column
- java.lang.Object
-
- org.apache.flink.cdc.common.schema.Column
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
MetadataColumn,PhysicalColumn
@PublicEvolving public abstract class Column extends Object implements Serializable
Representation of a column in aSchema.A table column describes either a
PhysicalColumnorMetadataColumn.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Stringcommentprotected StringdefaultValueExpressionSave the literal value of the column's default value, For uncertain functions such as UUID(), the value is null, For the current time function such as CURRENT_TIMESTAMP(), the value is Unix Epoch time(1970-01-01 00:00:00).protected static StringFIELD_FORMAT_NO_DESCRIPTION_NO_DEFAULT_VALUE_EXPRESSIONprotected static StringFIELD_FORMAT_NO_DESCRIPTION_WITH_DEFAULT_VALUE_EXPRESSIONprotected static StringFIELD_FORMAT_WITH_DESCRIPTION_NO_DEFAULT_VALUE_EXPRESSIONprotected static StringFIELD_FORMAT_WITH_DESCRIPTION_WITH_DEFAULT_VALUE_EXPRESSIONprotected Stringnameprotected DataTypetype
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description StringasSummaryString()Returns a string that summarizes this column for printing to a console.abstract Columncopy(String newName)Returns a copy of the column with a replaced name.abstract Columncopy(DataType newType)Returns a copy of the column with a replacedDataType.booleanequals(Object o)StringgetComment()StringgetDefaultValueExpression()StringgetName()Returns the name of this column.DataTypegetType()Returns the data type of this column.inthashCode()abstract booleanisPhysical()Returns whether the given column is a physical column of a table or metadata column.static MetadataColumnmetadataColumn(String name, DataType type)Creates a metadata column.static MetadataColumnmetadataColumn(String name, DataType type, String metadataKey)Creates a metadata column.static MetadataColumnmetadataColumn(String name, DataType type, String metadataKey, String comment)Creates a metadata column.static PhysicalColumnphysicalColumn(String name, DataType type)Creates a physical column.static PhysicalColumnphysicalColumn(String name, DataType type, String comment)Creates a physical column.static PhysicalColumnphysicalColumn(String name, DataType type, String comment, String defaultValueExpression)Creates a physical column.StringtoString()
-
-
-
Field Detail
-
FIELD_FORMAT_WITH_DESCRIPTION_NO_DEFAULT_VALUE_EXPRESSION
protected static final String FIELD_FORMAT_WITH_DESCRIPTION_NO_DEFAULT_VALUE_EXPRESSION
- See Also:
- Constant Field Values
-
FIELD_FORMAT_NO_DESCRIPTION_WITH_DEFAULT_VALUE_EXPRESSION
protected static final String FIELD_FORMAT_NO_DESCRIPTION_WITH_DEFAULT_VALUE_EXPRESSION
- See Also:
- Constant Field Values
-
FIELD_FORMAT_WITH_DESCRIPTION_WITH_DEFAULT_VALUE_EXPRESSION
protected static final String FIELD_FORMAT_WITH_DESCRIPTION_WITH_DEFAULT_VALUE_EXPRESSION
- See Also:
- Constant Field Values
-
FIELD_FORMAT_NO_DESCRIPTION_NO_DEFAULT_VALUE_EXPRESSION
protected static final String FIELD_FORMAT_NO_DESCRIPTION_NO_DEFAULT_VALUE_EXPRESSION
- See Also:
- Constant Field Values
-
name
protected final String name
-
type
protected final DataType type
-
defaultValueExpression
@Nullable protected final String defaultValueExpression
Save the literal value of the column's default value, For uncertain functions such as UUID(), the value is null, For the current time function such as CURRENT_TIMESTAMP(), the value is Unix Epoch time(1970-01-01 00:00:00).
-
-
Method Detail
-
getName
public String getName()
Returns the name of this column.
-
getType
public DataType getType()
Returns the data type of this column.
-
asSummaryString
public String asSummaryString()
Returns a string that summarizes this column for printing to a console.
-
isPhysical
public abstract boolean isPhysical()
Returns whether the given column is a physical column of a table or metadata column.
-
copy
public abstract Column copy(DataType newType)
Returns a copy of the column with a replacedDataType.
-
copy
public abstract Column copy(String newName)
Returns a copy of the column with a replaced name.
-
physicalColumn
public static PhysicalColumn physicalColumn(String name, DataType type, @Nullable String comment, @Nullable String defaultValueExpression)
Creates a physical column.
-
physicalColumn
public static PhysicalColumn physicalColumn(String name, DataType type, @Nullable String comment)
Creates a physical column.
-
physicalColumn
public static PhysicalColumn physicalColumn(String name, DataType type)
Creates a physical column.
-
metadataColumn
public static MetadataColumn metadataColumn(String name, DataType type, @Nullable String metadataKey, @Nullable String comment)
Creates a metadata column.
-
metadataColumn
public static MetadataColumn metadataColumn(String name, DataType type, @Nullable String metadataKey)
Creates a metadata column.
-
metadataColumn
public static MetadataColumn metadataColumn(String name, DataType type)
Creates a metadata column.
-
-