Package org.apache.torque.map

## Class ColumnMap

- java.lang.Object
- - org.apache.torque.map.OptionSupport
  - - org.apache.torque.map.ColumnMap

- All Implemented Interfaces:
    `Serializable`, `Column`

      public class ColumnMap
      extends OptionSupport
      implements Column, Serializable

  ColumnMap is used to model a column of a table in a database.

  Note that this information should be set via the `TableMapBuilder` class and not changed by applications. The set methods are only public because this class needs them.

  Version:
    $Id: ColumnMap.java 1850965 2019-01-10 17:21:29Z painter $
  Author:
    John D. McNally, Greg Monroe
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ColumnMap​(String name, TableMap containingTable)` | Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addInheritanceMap​(InheritanceMap map)` | Add an associated inheritance mapping.
    `String` | `getColumnName()` | Get the name of a column.
    `String` | `getDefault()` | A string representing the default value defined for this column.
    `String` | `getDescription()` | Returns the column description info.
    `String` | `getFullTableName()` | Get the name of the table this column is in.
    `String` | `getInheritance()` | Gets the inheritance type used.
    `InheritanceMap` | `getInheritanceMap​(String key)` | Get the inheritance map with the specified key.
    `InheritanceMap[]` | `getInheritanceMaps()` | Get the inheritance information associated with this column,
    `String` | `getJavaName()` | Gets the Java Name for this column as defined in XML or created by generator code.
    `String` | `getJavaNamingMethod()` | Returns the Java naming method for this column.
    `String` | `getJavaType()` | Returns the java type of this column.
    `int` | `getPosition()` | Returns the position (one based) of this column in the table.
    `int` | `getScale()` | Gets the scale set for this column (if any) as set in the XML database definition.
    `String` | `getSchemaName()` | Get the name of the schema of the table this column is in.
    `int` | `getSize()` | The "precision" value from the XML size="<precision>[,<scale>]" attribute.
    `String` | `getSqlExpression()` | Returns the SQL expression for the fully qualified column name.
    `TableMap` | `getTable()` | Returns the map for the table this column belongs to.
    `String` | `getTableName()` | Get the name of the table this column is in.
    `String` | `getTorqueType()` | Get the name of the Torque type of this column.
    `Object` | `getType()` | Get the type of this column.
    `boolean` | `isAutoIncrement()` | Returns whether this column is an autoincrement column.
    `boolean` | `isNotNull()` | Is null value allowed ?
    `boolean` | `isPk()` | Returns whether this column is a primary key.
    `boolean` | `isPrimaryKey()` | Is this column a primary key?
    `boolean` | `isProtected()` | Returns whether getters and setters are generated with the access modifier "protected" rather than "public".
    `boolean` | `isUseInheritance()` | Returns whether this column uses inheritance subclasses.
    `boolean` | `isUsePrimitive()` | Returns whether this column uses primitive values rather than objects.
    `protected String` | `normalizeName​(String name)` | Makes sure that the column names don't include table prefixes.
    `void` | `setAutoIncrement​(boolean autoIncrement)` | Sets whether this column is an autoincrement column.
    `void` | `setDefault​(String defaultValue)` | Sets the default value for this column.
    `void` | `setDescription​(String description)` | Sets the description for this column.
    `void` | `setInheritance​(String inheritanceType)` | Sets the inheritance type.
    `void` | `setJavaName​(String name)` | Sets the Java Name for this column.
    `void` | `setJavaNamingMethod​(String javaNamingMethod)` | Sets the java naming method for this column.
    `void` | `setJavaType​(String javaType)` | Sets the java type of this column.
    `void` | `setNotNull​(boolean nn)` | Set if this column may be null.
    `void` | `setPk​(boolean pk)` | Sets whether this column is a primary key.
    `void` | `setPosition​(int position)` | Sets the position (one based) of this column in the table.
    `void` | `setPrimaryKey​(boolean pk)` | Set if this column is a primary key or not.
    `void` | `setProtected​(boolean isProtected)` | Sets whether getters and setters should be generated with the access modifier "protected" rather than "public".
    `void` | `setScale​(int scale)` |
    `void` | `setSize​(int size)` | Set the size of this column.
    `void` | `setTorqueType​(String torqueType)` | Set the Torque type of this column.
    `void` | `setType​(Object type)` | Set the type of this column.
    `void` | `setUseInheritance​(boolean useInheritance)` | Sets whether this column uses inheritance subclasses.
    `void` | `setUsePrimitive​(boolean usePrimitive)` | Sets whether this column uses primitive values rather than objects.
    `String` | `toString()` |

    - ### Methods inherited from class org.apache.torque.map.OptionSupport

      `clearOptions, getOption, getOptions, setOption`

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

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

- - ### Constructor Detail

    - #### ColumnMap

          public ColumnMap​(String name,
                           TableMap containingTable)

      Constructor.
      Parameters:
        `name` - The name of the column.
        `containingTable` - TableMap of the table this column is in.

  - ### Method Detail

    - #### normalizeName

          protected String normalizeName​(String name)

      Makes sure that the column names don't include table prefixes. E.g., SCARAB_PROJECT.PROJECT_ID should be PROJECT_ID.
      Parameters:
        `name` - The name to check
      Returns:
        The corrected name if needed or the same name if not.

    - #### getColumnName

          public String getColumnName()

      Get the name of a column.
      Specified by:
        `getColumnName` in interface `Column`
      Returns:
        A String with the column name.

    - #### getTableName

          public String getTableName()

      Get the name of the table this column is in.
      Specified by:
        `getTableName` in interface `Column`
      Returns:
        A String with the table name.

    - #### getFullTableName

          public String getFullTableName()

      Get the name of the table this column is in.
      Specified by:
        `getFullTableName` in interface `Column`
      Returns:
        A String with the table name.

    - #### getSchemaName

          public String getSchemaName()

      Get the name of the schema of the table this column is in.
      Specified by:
        `getSchemaName` in interface `Column`
      Returns:
        A String with the schema name, or null if no schema is given.

    - #### setType

          public void setType​(Object type)

      Set the type of this column.
      Parameters:
        `type` - An Object specifying the type.

    - #### setTorqueType

          public void setTorqueType​(String torqueType)

      Set the Torque type of this column.
      Parameters:
        `torqueType` - the Torque type of the column.

    - #### setSize

          public void setSize​(int size)

      Set the size of this column.
      Parameters:
        `size` - An int specifying the size.

    - #### setPrimaryKey

          public void setPrimaryKey​(boolean pk)

      Set if this column is a primary key or not.
      Parameters:
        `pk` - True if column is a primary key.

    - #### setNotNull

          public void setNotNull​(boolean nn)

      Set if this column may be null.
      Parameters:
        `nn` - True if column may be null.

    - #### getType

          public Object getType()

      Get the type of this column. Note that if usePrimitive is true, this may need to be converted.
      Returns:
        An Object specifying the type.

    - #### getTorqueType

          public String getTorqueType()

      Get the name of the Torque type of this column.
      Returns:
        The name of the Torque type of this column.

    - #### getSize

          public int getSize()

      The "precision" value from the XML size="<precision>[,<scale>]" attribute. Where [,<scale>] is optional. If the size attribute has not been set in the XML, it will return 0.

      Note that the size="P,S" format should be replaced with size="P" scale="S".

      Returns:
        An int specifying the size.

    - #### isPrimaryKey

          public boolean isPrimaryKey()

      Is this column a primary key?
      Returns:
        True if column is a primary key.

    - #### isNotNull

          public boolean isNotNull()

      Is null value allowed ?
      Returns:
        True if column may be null.

    - #### getScale

          public int getScale()

      Gets the scale set for this column (if any) as set in the XML database definition. E.g., the value of the scale attribute or the scale portion of a size="P,S" attribute. (Note: size="P,S" format is being deprecated!).
      Returns:
        Returns the scale.

    - #### setScale

          public void setScale​(int scale)

      Parameters:
        `scale` - The scale to set.

    - #### getJavaName

          public String getJavaName()

      Gets the Java Name for this column as defined in XML or created by generator code.
      Returns:
        the Java Name.

    - #### setJavaName

          public void setJavaName​(String name)

      Sets the Java Name for this column.
      Parameters:
        `name` - the Java Name.

    - #### isAutoIncrement

          public boolean isAutoIncrement()

      Returns whether this column is an autoincrement column.
      Returns:
        true if this column is an autoIncrement column, false otherwise.

    - #### setAutoIncrement

          public void setAutoIncrement​(boolean autoIncrement)

      Sets whether this column is an autoincrement column.
      Parameters:
        `autoIncrement` - whether this colimn is an autoincrement column.

    - #### getDefault

          public String getDefault()

      A string representing the default value defined for this column.
      Returns:
        The default value of this column, if any.

    - #### setDefault

          public void setDefault​(String defaultValue)

      Sets the default value for this column.
      Parameters:
        `defaultValue` - The defaultValue to set.

    - #### getDescription

          public String getDescription()

      Returns the column description info.
      Returns:
        the description, if any.

    - #### setDescription

          public void setDescription​(String description)

      Sets the description for this column.
      Parameters:
        `description` - The description to set.

    - #### getInheritanceMaps

          public InheritanceMap[] getInheritanceMaps()

      Get the inheritance information associated with this column,
      Returns:
        Returns an array of associated inheritanceMap. The array is in XML order.

    - #### addInheritanceMap

          public void addInheritanceMap​(InheritanceMap map)

      Add an associated inheritance mapping.
      Parameters:
        `map` - The inheritanceMap to associate with this column.

    - #### getInheritance

          public String getInheritance()

      Gets the inheritance type used.
      Returns:
        the inheritance type used.

    - #### setInheritance

          public void setInheritance​(String inheritanceType)

      Sets the inheritance type.
      Parameters:
        `inheritanceType` - The inheritance type to set.

    - #### isProtected

          public boolean isProtected()

      Returns whether getters and setters are generated with the access modifier "protected" rather than "public".
      Returns:
        whether the accessors should be protected rather than public.

    - #### setProtected

          public void setProtected​(boolean isProtected)

      Sets whether getters and setters should be generated with the access modifier "protected" rather than "public".
      Parameters:
        `isProtected` - whether getters and setters for this column are protected.

    - #### isPk

          public boolean isPk()

      Returns whether this column is a primary key.
      Returns:
        whether this column is a primary key.

    - #### setPk

          public void setPk​(boolean pk)

      Sets whether this column is a primary key.
      Parameters:
        `pk` - whether this column is a primary key.

    - #### isUseInheritance

          public boolean isUseInheritance()

      Returns whether this column uses inheritance subclasses.
      Returns:
        true if inheritance subclasses are used, false otherwise.

    - #### setUseInheritance

          public void setUseInheritance​(boolean useInheritance)

      Sets whether this column uses inheritance subclasses.
      Parameters:
        `useInheritance` - whether this column uses Inheritance subclasses.

    - #### getInheritanceMap

          public InheritanceMap getInheritanceMap​(String key)

      Get the inheritance map with the specified key.
      Parameters:
        `key` - the key of the inheritance map.
      Returns:
        the inheritance map with the specified key, or null if no inheritance map with the specified key exists in this column.

    - #### isUsePrimitive

          public boolean isUsePrimitive()

      Returns whether this column uses primitive values rather than objects.
      Returns:
        true if this column uses primitive values, false if it uses objects.

    - #### setUsePrimitive

          public void setUsePrimitive​(boolean usePrimitive)

      Sets whether this column uses primitive values rather than objects.
      Parameters:
        `usePrimitive` - whether primitive objects are used rather than objects.

    - #### getJavaNamingMethod

          public String getJavaNamingMethod()

      Returns the Java naming method for this column.
      Returns:
        the javaNamingMethod for this column.

    - #### setJavaNamingMethod

          public void setJavaNamingMethod​(String javaNamingMethod)

      Sets the java naming method for this column.
      Parameters:
        `javaNamingMethod` - The javaNamingMethod to set.

    - #### getTable

          public TableMap getTable()

      Returns the map for the table this column belongs to.
      Returns:
        the table map for this column.

    - #### getPosition

          public int getPosition()

      Returns the position (one based) of this column in the table. XML order is preserved.
      Returns:
        The position of this column, one-based.

    - #### setPosition

          public void setPosition​(int position)

      Sets the position (one based) of this column in the table.
      Parameters:
        `position` - The position to set.

    - #### getJavaType

          public String getJavaType()

      Returns the java type of this column.
      Returns:
        the javaType.

    - #### setJavaType

          public void setJavaType​(String javaType)

      Sets the java type of this column.
      Parameters:
        `javaType` - The javaType to set.

    - #### getSqlExpression

          public String getSqlExpression()

      Returns the SQL expression for the fully qualified column name. This is tableName.columnName if the database for this column has no schema and defaultSchema is null, or schemaName.tableName.columnName with a schema (the database schema overrides the default schema if both are given).
      Specified by:
        `getSqlExpression` in interface `Column`
      Returns:
        the SQL expression for the column, not null.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`