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

  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 Details

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

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