Package org.apache.torque.map

## Class TableMap

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

- All Implemented Interfaces:
    `Serializable`

      public class TableMap
      extends OptionSupport
      implements Serializable

  TableMap is used to model a table in a database.
  Version:
    $Id: TableMap.java 1867515 2019-09-25 15:02:03Z gk $
  Author:
    John D. McNally, Daniel Rall, Greg Monroe
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TableMap​(String tableName, String prefix, DatabaseMap containingDB)` | Constructor.
    `TableMap​(String tableName, DatabaseMap containingDB)` | Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addColumn​(ColumnMap cmap)` | Add a pre-created column to this table.
    `void` | `addForeignKey​(ForeignKeyMap foreignKey)` | Add a foreign key to this table.
    `boolean` | `containsColumn​(String name)` | Does this table contain the specified column?
    `boolean` | `containsColumn​(ColumnMap column)` | Does this table contain the specified column?
    `boolean` | `containsObjectColumn()` | Returns true if this tableMap contains a column with object data.
    `ColumnMap` | `getColumn​(String name)` | Get a ColumnMap for the named table.
    `ColumnMap[]` | `getColumns()` | Get a ColumnMap[] of the columns in this table.
    `DatabaseMap` | `getDatabaseMap()` | Get the DatabaseMap containing this TableMap.
    `DatabaseMap` | `getDbMap()` | Returns the database map for this table.
    `String` | `getDescription()` | Returns the table description info.
    `List<ForeignKeyMap>` | `getForeignKeys()` | Get all foreign keys in the table..
    `String` | `getFullyQualifiedTableName()` | Returns the fully qualified table name, if available.
    `String` | `getJavaName()` | Get the Java name of the table as defined in XML.
    `Class<?>` | `getManagerClass()` | Returns the manager class for this table.
    `String` | `getName()` | Get the name of the Table, not prefixed by a possible schema name
    `Class<?>` | `getOMClass()` | Returns the OM class for this table.
    `Class<?>` | `getPeerClass()` | Returns the Peer Class for this table.
    `String` | `getPrefix()` | Get table prefix name.
    `ColumnMap` | `getPrimaryKey()` | Returns the single primary key of this table, if it exists
    `IDMethod` | `getPrimaryKeyMethod()` | Get the method used to generate primary keys for this table.
    `Object` | `getPrimaryKeyMethodInfo​(IDMethod idMethod)` | Get the information used to generate a primary key
    `String` | `getSchemaName()` | Get the schema to which the table belongs to.
    `boolean` | `isUseInheritance()` | Returns whether this table uses inheritance.
    `boolean` | `isUseManager()` | Returns whether managers are used for this table.
    `String` | `removeUnderScores​(String data)` | Removes the PREFIX, removes the underscores and makes first letter caps.
    `void` | `setDescription​(String description)` | Sets the table description.
    `void` | `setJavaName​(String value)` | Set the Java name of the table as defined by generator/XML.
    `void` | `setManagerClass​(Class<?> managerClass)` | Sets the manager class for this table.
    `void` | `setOMClass​(Class<?> omClass)` | Sets the OM root class for this table.
    `void` | `setPeerClass​(Class<?> peerClass)` | Sets the Peer class for this table.
    `void` | `setPrefix​(String prefix)` | Set table prefix name.
    `void` | `setPrimaryKeyMethod​(IDMethod method)` | Sets the method used to generate a key for this table.
    `void` | `setPrimaryKeyMethodInfo​(Object pkInfo)` | Sets the pk information needed to generate a key.
    `void` | `setPrimaryKeyMethodInfo​(IDMethod idMethod, Object pkInfo)` | Sets the pk information needed to generate a key.
    `void` | `setUseInheritance​(boolean useInheritance)` | Sets whether this table uses inheritance.
    `void` | `setUseManager​(boolean useManager)` | Sets whether managers are used for this table.
    `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

    - #### TableMap

          public TableMap​(String tableName,
                          DatabaseMap containingDB)

      Constructor.
      Parameters:
        `tableName` - The name of the table, may be prefixed with a schema name, not null.
        `containingDB` - A DatabaseMap that this table belongs to.

    - #### TableMap

          public TableMap​(String tableName,
                          String prefix,
                          DatabaseMap containingDB)

      Constructor.
      Parameters:
        `tableName` - The name of the table, may be prefixed with a schema name, not null.
        `prefix` - The prefix for the table name (ie: SCARAB for SCARAB_PROJECT).
        `containingDB` - A DatabaseMap that this table belongs to.

  - ### Method Detail

    - #### containsColumn

          public boolean containsColumn​(ColumnMap column)

      Does this table contain the specified column?
      Parameters:
        `column` - A ColumnMap.
      Returns:
        True if the table contains the column.

    - #### containsColumn

          public boolean containsColumn​(String name)

      Does this table contain the specified column?
      Parameters:
        `name` - A String with the name of the column.
      Returns:
        True if the table contains the column.

    - #### getDatabaseMap

          public DatabaseMap getDatabaseMap()

      Get the DatabaseMap containing this TableMap.
      Returns:
        A DatabaseMap.

    - #### containsObjectColumn

          public boolean containsObjectColumn()

      Returns true if this tableMap contains a column with object data. If the type of the column is not a string, a number or a date, it is assumed that it is object data.
      Returns:
        True if map contains a column with object data.

    - #### getName

          public String getName()

      Get the name of the Table, not prefixed by a possible schema name
      Returns:
        A String with the name of the table, not null.

    - #### getSchemaName

          public String getSchemaName()

      Get the schema to which the table belongs to.
      Returns:
        the schema name, or null if the default schema should be used.

    - #### getFullyQualifiedTableName

          public String getFullyQualifiedTableName()

      Returns the fully qualified table name, if available.
      Returns:
        the fully qualified table name, if a schema is set, or just the table name if no schema is set, not null.

    - #### getJavaName

          public String getJavaName()

      Get the Java name of the table as defined in XML.
      Returns:
        A String with the Java name of the table.

    - #### setJavaName

          public void setJavaName​(String value)

      Set the Java name of the table as defined by generator/XML.
      Parameters:
        `value` - A String with the Java name of the table.

    - #### getPrefix

          public String getPrefix()

      Get table prefix name.
      Returns:
        A String with the prefix.

    - #### setPrefix

          public void setPrefix​(String prefix)

      Set table prefix name.
      Parameters:
        `prefix` - The prefix for the table name (ie: SCARAB for SCARAB_PROJECT).

    - #### getPrimaryKeyMethod

          public IDMethod getPrimaryKeyMethod()

      Get the method used to generate primary keys for this table.
      Returns:
        A String with the method.

    - #### getPrimaryKeyMethodInfo

          public Object getPrimaryKeyMethodInfo​(IDMethod idMethod)

      Get the information used to generate a primary key
      Parameters:
        `idMethod` - `IDMethod` used to generate a primary key
      Returns:
        An Object.

    - #### getColumns

          public ColumnMap[] getColumns()

      Get a ColumnMap[] of the columns in this table.
      Returns:
        A ColumnMap[].

    - #### getForeignKeys

          public List<ForeignKeyMap> getForeignKeys()

      Get all foreign keys in the table..
      Returns:
        All foreign keys, not null.

    - #### getColumn

          public ColumnMap getColumn​(String name)

      Get a ColumnMap for the named table.
      Parameters:
        `name` - A String with the name of the table.
      Returns:
        A ColumnMap.

    - #### addColumn

          public void addColumn​(ColumnMap cmap)

      Add a pre-created column to this table. It will replace any existing column.
      Parameters:
        `cmap` - A ColumnMap.

    - #### addForeignKey

          public void addForeignKey​(ForeignKeyMap foreignKey)

      Add a foreign key to this table.
      Parameters:
        `foreignKey` - the foreign key map, not null

    - #### setPrimaryKeyMethod

          public void setPrimaryKeyMethod​(IDMethod method)

      Sets the method used to generate a key for this table. Valid values are as specified in the `IDMethod` interface.
      Parameters:
        `method` - The ID generation method type, not null.

    - #### setPrimaryKeyMethodInfo

          public void setPrimaryKeyMethodInfo​(Object pkInfo)

      Sets the pk information needed to generate a key. This overrides all information set by `setPrimaryKeyMethodInfo(String, Object)`.
      Parameters:
        `pkInfo` - information needed to generate a key

    - #### setPrimaryKeyMethodInfo

          public void setPrimaryKeyMethodInfo​(IDMethod idMethod,
                                              Object pkInfo)

      Sets the pk information needed to generate a key.
      Parameters:
        `idMethod` - the id method for which this information is stored.
        `pkInfo` - information needed to generate a key.

    - #### removeUnderScores

          public final String removeUnderScores​(String data)

      Removes the PREFIX, removes the underscores and makes first letter caps. SCARAB_FOO_BAR becomes FooBar.
      Parameters:
        `data` - A String.
      Returns:
        A String with data processed.

    - #### getDescription

          public String getDescription()

      Returns the table description info.
      Returns:
        Returns the description.

    - #### setDescription

          public void setDescription​(String description)

      Sets the table description.
      Parameters:
        `description` - The description to set.

    - #### getOMClass

          public Class<?> getOMClass()

      Returns the OM class for this table.
      Returns:
        the OM class.

    - #### setOMClass

          public void setOMClass​(Class<?> omClass)

      Sets the OM root class for this table.
      Parameters:
        `omClass` - The OM root class for this table.

    - #### getPeerClass

          public Class<?> getPeerClass()

      Returns the Peer Class for this table.
      Returns:
        The peerClass for this table.

    - #### setPeerClass

          public void setPeerClass​(Class<?> peerClass)

      Sets the Peer class for this table.
      Parameters:
        `peerClass` - The peerClass to set.

    - #### getDbMap

          public DatabaseMap getDbMap()

      Returns the database map for this table.
      Returns:
        the database map for this table.

    - #### isUseInheritance

          public boolean isUseInheritance()

      Returns whether this table uses inheritance.
      Returns:
        whether inheritance is used.

    - #### setUseInheritance

          public void setUseInheritance​(boolean useInheritance)

      Sets whether this table uses inheritance.
      Parameters:
        `useInheritance` - whether this table uses inheritance.

    - #### isUseManager

          public boolean isUseManager()

      Returns whether managers are used for this table.
      Returns:
        whether managers are used for this table.

    - #### setUseManager

          public void setUseManager​(boolean useManager)

      Sets whether managers are used for this table.
      Parameters:
        `useManager` - whether managers are used for this table.

    - #### getManagerClass

          public Class<?> getManagerClass()

      Returns the manager class for this table.
      Returns:
        the managerClass.

    - #### setManagerClass

          public void setManagerClass​(Class<?> managerClass)

      Sets the manager class for this table.
      Parameters:
        `managerClass` - the manager class for this table.

    - #### getPrimaryKey

          public ColumnMap getPrimaryKey()
                                  throws TorqueException

      Returns the single primary key of this table, if it exists
      Returns:
        the single primary key column.
      Throws:
        `TorqueException` - If the table has no primary key or if the table has multiple primary keys.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`