Class SqlType

  • Direct Known Subclasses:
    SizedForBitDataSqlType

    public class SqlType
    extends Object
    The SQL type data for a column. Can contain additional information such as default size, scale and defaultValue. This class is immutable.
    Version:
    $Id: SqlType.java 1856067 2019-03-22 15:32:47Z gk $
    • Constructor Detail

      • SqlType

        public SqlType​(String sqlTypeName)
        Creates a new SqlType with the given SQL Type. Size, scale and defaultValue are set to null.
        Parameters:
        sqlTypeName - the SQL name of the SQL type, or null.
      • SqlType

        public SqlType​(String sqlTypeName,
                       String size)
        Creates a new SqlType with null scale and null default value.
        Parameters:
        sqlTypeName - the SQL name of the SQL type, not null.
        size - the default size of the columns with this SQL type. Can be overridden in the column definition.
        Throws:
        NullPointerException - if sqlTypeName is null.
      • SqlType

        public SqlType​(String sqlTypeName,
                       String size,
                       String scale)
        Creates a new SqlType with null default value.
        Parameters:
        sqlTypeName - the SQL name of the SQL type, not null.
        size - the default size of the columns with this SQL type. Can be overridden in the column definition.
        scale - the default scale of the columns with this SQL type. Can be overridden in the column definition.
        Throws:
        NullPointerException - if sqlTypeName is null.
      • SqlType

        public SqlType​(String sqlTypeName,
                       String size,
                       String scale,
                       String defaultValue)
        Creates a new SqlType.
        Parameters:
        sqlTypeName - the SQL name of the SQL type, not null.
        size - the default size of the columns with this SQL type. Can be overridden in the column definition.
        scale - the default scale of the columns with this SQL type. Can be overridden in the column definition.
        defaultValue - the default "default value" of the columns with this SQL type. Can be overridden in the column definition.
        Throws:
        NullPointerException - if sqlTypeName is null.
      • SqlType

        public SqlType​(SqlType sqlType,
                       String size,
                       String scale,
                       String defaultValue)
        Creates a new SqlType by copying another sql type.
        Parameters:
        sqlType - the SQL type, to copy, not null.
        size - the default size of the columns with this SQL type.
        scale - the default scale of the columns with this SQL type.
        defaultValue - the default "default value" of the columns with this SQL type.
        Throws:
        NullPointerException - if sqlType is null.
    • Method Detail

      • getScale

        public String getScale()
        Returns:
        Returns the scale.
      • getSize

        public String getSize()
        Returns:
        Returns the size.
      • getDefaultValue

        public String getDefaultValue()
        Returns:
        Returns the defaultValue.
      • getSqlTypeName

        public String getSqlTypeName()
        Returns the SQL type name.
        Returns:
        The SQL type name for this column type, or null if the type is not set.
      • printSize

        public String printSize​(String sizeSuffix)
        Return the size and scale in brackets for use in an SQL script.
        Returns:
        size and scale, size or an empty String if there are no values available.
      • printScale

        public String printScale()
        Return the scale in brackets for use in an SQL script.
        Returns:
        scale or an empty String if there are no values available.
      • getNew

        public SqlType getNew​(String size,
                              String scale,
                              String defaultValue)
        Returns a new instance with the given sqlTypeName, size, scale and default value.
        Parameters:
        size - of the sql
        scale - of the sql
        defaultValue - to be provided
        Returns:
        a new instance with the given parameters.