Package org.apache.torque.templates.typemapping

## Class SqlType

- 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 1856067 2019-03-22 15:32:47Z gk $

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SqlType​(String sqlTypeName)` | Creates a new SqlType with the given SQL Type.
    `SqlType​(String sqlTypeName, String size)` | Creates a new SqlType with null scale and null default value.
    `SqlType​(String sqlTypeName, String size, String scale)` | Creates a new SqlType with null default value.
    `SqlType​(String sqlTypeName, String size, String scale, String defaultValue)` | Creates a new SqlType.
    `SqlType​(SqlType sqlType, String size, String scale, String defaultValue)` | Creates a new SqlType by copying another sql type.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getDefaultValue()` |
    `SqlType` | `getNew​(String size, String scale, String defaultValue)` | Returns a new instance with the given sqlTypeName, size, scale and default value.
    `String` | `getScale()` |
    `String` | `getSize()` |
    `String` | `getSqlTypeName()` | Returns the SQL type name.
    `String` | `printScale()` | Return the scale in brackets for use in an SQL script.
    `String` | `printSize​(String sizeSuffix)` | Return the size and scale in brackets for use in an SQL script.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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