Interface ColumnEditor

    • Method Detail

      • 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 the JDBC type for 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

        Optional<Integer> scale()
        Get the scale of the column.
        Returns:
        the scale if present
      • isOptional

        boolean isOptional()
        Determine whether this column is optional.
        Returns:
        true if it is optional, or false otherwise
      • isAutoIncremented

        boolean isAutoIncremented()
        Determine whether this column's values are automatically incremented by the database.
        Returns:
        true if the values are auto-incremented, or false otherwise
      • isGenerated

        boolean isGenerated()
        Determine whether this column's values are generated by the database.
        Returns:
        true if the values are generated, or false otherwise
      • defaultValueExpression

        Optional<String> 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:
        true if the default value was provided, or false otherwise
      • enumValues

        List<String> 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

        ColumnEditor name​(String name)
        Set the name of the column.
        Parameters:
        name - the column name
        Returns:
        this editor so callers can chain methods together
      • type

        ColumnEditor type​(String typeName)
        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

        ColumnEditor type​(String typeName,
                          String typeExpression)
        Set the database-specific name of the column's data type. The expression includes the column's type name and also any dimensions, lengths, precisions, character sets, etc.
        Parameters:
        typeName - the column's type name
        typeExpression - the column's complete type expression
        Returns:
        this editor so callers can chain methods together
      • jdbcType

        ColumnEditor jdbcType​(int jdbcType)
        Set the JDBC type of this column.
        Parameters:
        jdbcType - JDBC type for this column
        Returns:
        this editor so callers can chain methods together
      • nativeType

        ColumnEditor nativeType​(int nativeType)
        Set the native type for this column . This is database specific.
        Returns:
        a type constant for the specific database
      • charsetName

        ColumnEditor charsetName​(String 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

        ColumnEditor charsetNameOfTable​(String charsetName)
        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

        ColumnEditor length​(int 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

        ColumnEditor scale​(Integer scale)
        Set the scale of the column.
        Parameters:
        scale - the scale or null to unset
        Returns:
        this editor so callers can chain methods together
      • optional

        ColumnEditor optional​(boolean optional)
        Set whether the column's values are optional (e.g., can contain nulls).
        Parameters:
        optional - true if the column's values are optional, or false otherwise
        Returns:
        this editor so callers can chain methods together
      • autoIncremented

        ColumnEditor autoIncremented​(boolean autoIncremented)
        Set whether the column's values are automatically incremented.
        Parameters:
        autoIncremented - true if the column's values are automatically incremented by the database, or false otherwise
        Returns:
        this editor so callers can chain methods together
      • generated

        ColumnEditor generated​(boolean generated)
        Set whether the column's values are generated by the database.
        Parameters:
        generated - true if the column's values are generated by the database, or false otherwise
        Returns:
        this editor so callers can chain methods together
      • position

        ColumnEditor position​(int 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

        ColumnEditor defaultValueExpression​(String 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

        ColumnEditor enumValues​(List<String> enumValues)
        Set the list of enumeration values.
        Parameters:
        enumValues - the enumeration values
        Returns:
        this editor so callers can chain methods together
      • comment

        ColumnEditor comment​(String 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