java.lang.Object
org.apache.torque.templates.typemapping.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 1917240 2024-04-21 13:22:54Z tv $
  • Constructor Details

    • 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 Details

    • 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.