Package org.apache.torque.templates.typemapping

## Class SizedForBitDataSqlType

- java.lang.Object
- - org.apache.torque.templates.typemapping.SqlType
  - - org.apache.torque.templates.typemapping.SizedForBitDataSqlType

-     public class SizedForBitDataSqlType
      extends SqlType

  Supports the Derby / DB2 / SQL92 standard for defining Binary data fields with either CHAR(#) FOR BIT DATA or VARCHAR(#) FOR BIT DATA. This can be used in Platform implementors initialize() methods, by using lines like:

  `setSchemaTypeToSqlTypeMapping( SchemaType.VARBINARY, new SizedForBitDataSqlType("VARCHAR", "32672"));`

  This will cause the Column.getSqlString() method to produce items similar to:

  `CHAR(#) FOR BIT DATA VARCHAR(#) FOR BIT DATA`

  Where: # is the size= schema attribute or a default size specified in the constructor.

  Note that this is dependent on the platform implementation correctly defining BINARY and VARBINARY as having a size attribute in the "hasSize()" method.

  Author:
    Greg Monroe
  See Also:
    `Platform`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SizedForBitDataSqlType​(String sqlType)` |
    `SizedForBitDataSqlType​(String sqlType, String size)` |
    `SizedForBitDataSqlType​(SqlType sqlType, String size, String scale, String defaultValue)` |

  - ### Method Summary

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

    - ### Methods inherited from class org.apache.torque.templates.typemapping.SqlType

      `getDefaultValue, getScale, getSize, getSqlTypeName, printScale`

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

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

- - ### Constructor Detail

    - #### SizedForBitDataSqlType

          public SizedForBitDataSqlType​(String sqlType)

      Parameters:
        `sqlType` - the sql type

    - #### SizedForBitDataSqlType

          public SizedForBitDataSqlType​(String sqlType,
                                        String size)

      Parameters:
        `sqlType` - the sql type
        `size` - size

    - #### SizedForBitDataSqlType

          public SizedForBitDataSqlType​(SqlType sqlType,
                                        String size,
                                        String scale,
                                        String defaultValue)

      Parameters:
        `sqlType` - the sql type
        `size` - of the data
        `scale` - of the data
        `defaultValue` - for the data

  - ### Method Detail

    - #### printSize

          public String printSize​(String sizeSuffix)

      Description copied from class: `SqlType`
      Return the size and scale in brackets for use in an SQL script.
      Overrides:
        `printSize` in class `SqlType`
      Returns:
        "(size) FOR BIT DATA" or just " FOR BIT DATA" if size is null.
      See Also:
        `Returns the size postfix for the base SQL Column type.`

    - #### getNew

          public SqlType getNew​(String size,
                                String scale,
                                String defaultValue)

      Description copied from class: `SqlType`
      Returns a new instance with the given sqlTypeName, size, scale and default value.
      Overrides:
        `getNew` in class `SqlType`
      Parameters:
        `size` - of the sql
        `scale` - of the sql
        `defaultValue` - to be provided
      Returns:
        a new instance with the given parameters.