Package io.debezium.relational
Interface ColumnEditor
- All Known Implementing Classes:
ColumnEditorImpl
An editor for
Column instances.- Author:
- Randall Hauch
-
Method Summary
Modifier and TypeMethodDescriptionautoIncremented(boolean autoIncremented) Set whether the column's values are automatically incremented.Get the database-specific name of the character set used by this column.charsetName(String charsetName) Set the database-specific name of the character set used by this column.Get the database-specific name of the character set defined by this column's table, which is used if a character set is not explicitly set on this column.charsetNameOfTable(String charsetName) Set the database-specific name of the character set defined by this column's table.comment()Get the comment of the column.Set the comment of the columncreate()Obtain an immutable column definition representing the current state of this editor.Get the database-specific complete expression defining the column's default value.defaultValueExpression(String defaultValueExpression) Set the default value expression of the column;get the enumeration values for the column.enumValues(List<String> enumValues) Set the list of enumeration values.generated(boolean generated) Set whether the column's values are generated by the database.booleanDetermine whether this column's has a default value setbooleanDetermine whether this column's values are automatically incremented by the database.booleanDetermine whether this column's values are generated by the database.booleanDetermine whether this column is optional.intjdbcType()Get theJDBC typefor this columnjdbcType(int jdbcType) Set theJDBC typeof this column.intlength()Get the maximum length of this column's values.length(int length) Set the maximum length of this column's values.name()Get the name of the column.Set the name of the column.intGet the internal database-specific type identifier for this column.nativeType(int nativeType) Set the native type for this column .optional(boolean optional) Set whether the column's values are optional (e.g., can contain nulls).intposition()Get the position of the column in the table.position(int position) Set the position of the column within the table definition.scale()Get the scale of the column.Set the scale of the column.Set the database-specific name of the column's data type.Set the database-specific name of the column's data type.Get the database-specific complete expression defining the column's data type, including dimensions, length, precision, character sets, constraints, etc.typeName()Get the database-specific name of the column's data type.Unsets the default value expression of the column, reverting the editor to the state where {@link #defaultValueExpression(String))} has never been called
-
Method Details
-
name
String name()Get the name of the column.- Returns:
- the column name; may be null if not set
-
position
int position()Get the position of the column in the table.- Returns:
- the 1-based position
-
jdbcType
int jdbcType()Get theJDBC typefor this column- Returns:
- the type constant
-
nativeType
int nativeType()Get the internal database-specific type identifier for this column.- Returns:
- a type constant for the specific database
-
typeName
String typeName()Get the database-specific name of the column's data type.- Returns:
- the name of the type; may be null if not set
-
typeExpression
String typeExpression()Get the database-specific complete expression defining the column's data type, including dimensions, length, precision, character sets, constraints, etc.- Returns:
- the complete type expression
-
charsetName
String charsetName()Get the database-specific name of the character set used by this column.- Returns:
- the database-specific character set name, or null if the column's data type doesn't use character sets or no character set is specified
-
charsetNameOfTable
String charsetNameOfTable()Get the database-specific name of the character set defined by this column's table, which is used if a character set is not explicitly set on this column.- Returns:
- the database-specific character set name defined for this column's table, or null if not defined
-
length
int length()Get the maximum length of this column's values. For numeric columns, this represents the precision.- Returns:
- the length of the column
-
scale
Get the scale of the column.- Returns:
- the scale if present
-
isOptional
boolean isOptional()Determine whether this column is optional.- Returns:
trueif it is optional, orfalseotherwise
-
isAutoIncremented
boolean isAutoIncremented()Determine whether this column's values are automatically incremented by the database.- Returns:
trueif the values are auto-incremented, orfalseotherwise
-
isGenerated
boolean isGenerated()Determine whether this column's values are generated by the database.- Returns:
trueif the values are generated, orfalseotherwise
-
defaultValueExpression
Get the database-specific complete expression defining the column's default value.- Returns:
- the complete type expression
-
hasDefaultValue
boolean hasDefaultValue()Determine whether this column's has a default value set- Returns:
trueif the default value was provided, orfalseotherwise
-
enumValues
get the enumeration values for the column.- Returns:
- the list of enumeration values
-
comment
String comment()Get the comment of the column.- Returns:
- the column comment; may be null if not set
-
name
Set the name of the column.- Parameters:
name- the column name- Returns:
- this editor so callers can chain methods together
-
type
Set the database-specific name of the column's data type.- Parameters:
typeName- the column's type name- Returns:
- this editor so callers can chain methods together
-
type
Set the database-specific name of the column's data type. The expression includes the column'stype nameand also any dimensions, lengths, precisions, character sets, etc.- Parameters:
typeName- the column's type nametypeExpression- the column's complete type expression- Returns:
- this editor so callers can chain methods together
-
jdbcType
Set theJDBC typeof this column.- Parameters:
jdbcType-JDBC typefor this column- Returns:
- this editor so callers can chain methods together
-
nativeType
Set the native type for this column . This is database specific.- Returns:
- a type constant for the specific database
-
charsetName
Set the database-specific name of the character set used by this column.- Parameters:
charsetName- the database-specific character set name; may be null- Returns:
- this editor so callers can chain methods together
-
charsetNameOfTable
Set the database-specific name of the character set defined by this column's table.- Parameters:
charsetName- the database-specific character set name; may be null- Returns:
- this editor so callers can chain methods together
-
length
Set the maximum length of this column's values. For numeric columns, this represents the precision.- Parameters:
length- the column's length- Returns:
- this editor so callers can chain methods together
-
scale
Set the scale of the column.- Parameters:
scale- the scale ornullto unset- Returns:
- this editor so callers can chain methods together
-
optional
Set whether the column's values are optional (e.g., can contain nulls).- Parameters:
optional-trueif the column's values are optional, orfalseotherwise- Returns:
- this editor so callers can chain methods together
-
autoIncremented
Set whether the column's values are automatically incremented.- Parameters:
autoIncremented-trueif the column's values are automatically incremented by the database, orfalseotherwise- Returns:
- this editor so callers can chain methods together
-
generated
Set whether the column's values are generated by the database.- Parameters:
generated-trueif the column's values are generated by the database, orfalseotherwise- Returns:
- this editor so callers can chain methods together
-
position
Set the position of the column within the table definition.- Parameters:
position- the new column position- Returns:
- this editor so callers can chain methods together
-
defaultValueExpression
Set the default value expression of the column;- Parameters:
defaultValueExpression- the default value expression- Returns:
- this editor so callers can chain methods together
-
enumValues
Set the list of enumeration values.- Parameters:
enumValues- the enumeration values- Returns:
- this editor so callers can chain methods together
-
comment
Set the comment of the column- Parameters:
comment- column comment- Returns:
- this editor so callers can chain methods together
-
unsetDefaultValueExpression
ColumnEditor unsetDefaultValueExpression()Unsets the default value expression of the column, reverting the editor to the state where {@link #defaultValueExpression(String))} has never been called- Returns:
- this editor so callers can chain methods together
-
create
Column create()Obtain an immutable column definition representing the current state of this editor. Typically, an editor is created and used to build a column, and then discarded. However, this editor with its current state can be reused after this method, since the resulting column definition no longer refers to any of the data used in this editor.- Returns:
- the immutable column definition; never null
-