Package io.debezium.relational
Class ColumnEditorImpl
java.lang.Object
io.debezium.relational.ColumnEditorImpl
- All Implemented Interfaces:
ColumnEditor
-
Field Summary
Fields -
Constructor Summary
Constructors -
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.toString()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
-
Field Details
-
name
-
jdbcType
private int jdbcType -
nativeType
private int nativeType -
typeName
-
typeExpression
-
charsetName
-
tableCharsetName
-
length
private int length -
scale
-
position
private int position -
optional
private boolean optional -
autoIncremented
private boolean autoIncremented -
generated
private boolean generated -
defaultValueExpression
-
hasDefaultValue
private boolean hasDefaultValue -
enumValues
-
comment
-
-
Constructor Details
-
ColumnEditorImpl
protected ColumnEditorImpl()
-
-
Method Details
-
name
Description copied from interface:ColumnEditorGet the name of the column.- Specified by:
namein interfaceColumnEditor- Returns:
- the column name; may be null if not set
-
typeName
Description copied from interface:ColumnEditorGet the database-specific name of the column's data type.- Specified by:
typeNamein interfaceColumnEditor- Returns:
- the name of the type; may be null if not set
-
typeExpression
Description copied from interface:ColumnEditorGet the database-specific complete expression defining the column's data type, including dimensions, length, precision, character sets, constraints, etc.- Specified by:
typeExpressionin interfaceColumnEditor- Returns:
- the complete type expression
-
jdbcType
public int jdbcType()Description copied from interface:ColumnEditorGet theJDBC typefor this column- Specified by:
jdbcTypein interfaceColumnEditor- Returns:
- the type constant
-
nativeType
public int nativeType()Description copied from interface:ColumnEditorGet the internal database-specific type identifier for this column.- Specified by:
nativeTypein interfaceColumnEditor- Returns:
- a type constant for the specific database
-
charsetName
Description copied from interface:ColumnEditorGet the database-specific name of the character set used by this column.- Specified by:
charsetNamein interfaceColumnEditor- 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
Description copied from interface:ColumnEditorGet 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.- Specified by:
charsetNameOfTablein interfaceColumnEditor- Returns:
- the database-specific character set name defined for this column's table, or null if not defined
-
length
public int length()Description copied from interface:ColumnEditorGet the maximum length of this column's values. For numeric columns, this represents the precision.- Specified by:
lengthin interfaceColumnEditor- Returns:
- the length of the column
-
scale
Description copied from interface:ColumnEditorGet the scale of the column.- Specified by:
scalein interfaceColumnEditor- Returns:
- the scale if present
-
position
public int position()Description copied from interface:ColumnEditorGet the position of the column in the table.- Specified by:
positionin interfaceColumnEditor- Returns:
- the 1-based position
-
isOptional
public boolean isOptional()Description copied from interface:ColumnEditorDetermine whether this column is optional.- Specified by:
isOptionalin interfaceColumnEditor- Returns:
trueif it is optional, orfalseotherwise
-
isAutoIncremented
public boolean isAutoIncremented()Description copied from interface:ColumnEditorDetermine whether this column's values are automatically incremented by the database.- Specified by:
isAutoIncrementedin interfaceColumnEditor- Returns:
trueif the values are auto-incremented, orfalseotherwise
-
isGenerated
public boolean isGenerated()Description copied from interface:ColumnEditorDetermine whether this column's values are generated by the database.- Specified by:
isGeneratedin interfaceColumnEditor- Returns:
trueif the values are generated, orfalseotherwise
-
defaultValueExpression
Description copied from interface:ColumnEditorGet the database-specific complete expression defining the column's default value.- Specified by:
defaultValueExpressionin interfaceColumnEditor- Returns:
- the complete type expression
-
hasDefaultValue
public boolean hasDefaultValue()Description copied from interface:ColumnEditorDetermine whether this column's has a default value set- Specified by:
hasDefaultValuein interfaceColumnEditor- Returns:
trueif the default value was provided, orfalseotherwise
-
comment
Description copied from interface:ColumnEditorGet the comment of the column.- Specified by:
commentin interfaceColumnEditor- Returns:
- the column comment; may be null if not set
-
name
Description copied from interface:ColumnEditorSet the name of the column.- Specified by:
namein interfaceColumnEditor- Parameters:
name- the column name- Returns:
- this editor so callers can chain methods together
-
enumValues
Description copied from interface:ColumnEditorget the enumeration values for the column.- Specified by:
enumValuesin interfaceColumnEditor- Returns:
- the list of enumeration values
-
type
Description copied from interface:ColumnEditorSet the database-specific name of the column's data type.- Specified by:
typein interfaceColumnEditor- Parameters:
typeName- the column's type name- Returns:
- this editor so callers can chain methods together
-
type
Description copied from interface:ColumnEditorSet 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.- Specified by:
typein interfaceColumnEditor- Parameters:
typeName- the column's type nametypeExpression- the column's complete type expression- Returns:
- this editor so callers can chain methods together
-
jdbcType
Description copied from interface:ColumnEditorSet theJDBC typeof this column.- Specified by:
jdbcTypein interfaceColumnEditor- Parameters:
jdbcType-JDBC typefor this column- Returns:
- this editor so callers can chain methods together
-
nativeType
Description copied from interface:ColumnEditorSet the native type for this column . This is database specific.- Specified by:
nativeTypein interfaceColumnEditor- Returns:
- a type constant for the specific database
-
charsetName
Description copied from interface:ColumnEditorSet the database-specific name of the character set used by this column.- Specified by:
charsetNamein interfaceColumnEditor- Parameters:
charsetName- the database-specific character set name; may be null- Returns:
- this editor so callers can chain methods together
-
charsetNameOfTable
Description copied from interface:ColumnEditorSet the database-specific name of the character set defined by this column's table.- Specified by:
charsetNameOfTablein interfaceColumnEditor- Parameters:
charsetName- the database-specific character set name; may be null- Returns:
- this editor so callers can chain methods together
-
length
Description copied from interface:ColumnEditorSet the maximum length of this column's values. For numeric columns, this represents the precision.- Specified by:
lengthin interfaceColumnEditor- Parameters:
length- the column's length- Returns:
- this editor so callers can chain methods together
-
scale
Description copied from interface:ColumnEditorSet the scale of the column.- Specified by:
scalein interfaceColumnEditor- Parameters:
scale- the scale ornullto unset- Returns:
- this editor so callers can chain methods together
-
optional
Description copied from interface:ColumnEditorSet whether the column's values are optional (e.g., can contain nulls).- Specified by:
optionalin interfaceColumnEditor- Parameters:
optional-trueif the column's values are optional, orfalseotherwise- Returns:
- this editor so callers can chain methods together
-
autoIncremented
Description copied from interface:ColumnEditorSet whether the column's values are automatically incremented.- Specified by:
autoIncrementedin interfaceColumnEditor- Parameters:
autoIncremented-trueif the column's values are automatically incremented by the database, orfalseotherwise- Returns:
- this editor so callers can chain methods together
-
generated
Description copied from interface:ColumnEditorSet whether the column's values are generated by the database.- Specified by:
generatedin interfaceColumnEditor- Parameters:
generated-trueif the column's values are generated by the database, orfalseotherwise- Returns:
- this editor so callers can chain methods together
-
position
Description copied from interface:ColumnEditorSet the position of the column within the table definition.- Specified by:
positionin interfaceColumnEditor- Parameters:
position- the new column position- Returns:
- this editor so callers can chain methods together
-
defaultValueExpression
Description copied from interface:ColumnEditorSet the default value expression of the column;- Specified by:
defaultValueExpressionin interfaceColumnEditor- Parameters:
defaultValueExpression- the default value expression- Returns:
- this editor so callers can chain methods together
-
unsetDefaultValueExpression
Description copied from interface:ColumnEditorUnsets the default value expression of the column, reverting the editor to the state where {@link #defaultValueExpression(String))} has never been called- Specified by:
unsetDefaultValueExpressionin interfaceColumnEditor- Returns:
- this editor so callers can chain methods together
-
enumValues
Description copied from interface:ColumnEditorSet the list of enumeration values.- Specified by:
enumValuesin interfaceColumnEditor- Parameters:
enumValues- the enumeration values- Returns:
- this editor so callers can chain methods together
-
comment
Description copied from interface:ColumnEditorSet the comment of the column- Specified by:
commentin interfaceColumnEditor- Parameters:
comment- column comment- Returns:
- this editor so callers can chain methods together
-
create
Description copied from interface:ColumnEditorObtain 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.- Specified by:
createin interfaceColumnEditor- Returns:
- the immutable column definition; never null
-
toString
-