org.apache.torque.map
Class ColumnMap

java.lang.Object
  extended by org.apache.torque.map.ColumnMap
All Implemented Interfaces:
Serializable, Column

public class ColumnMap
extends Object
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

MapBuilder class and not changed by applications. The set methods are only public because this class needs them.

Version:
$Id: ColumnMap.java 1403997 2012-10-31 06:12:45Z tfischer $
Author:
John D. McNally, Greg Monroe
See Also:
Serialized Form

Constructor Summary
ColumnMap(String name, TableMap containingTable)
          Constructor.
 
Method Summary
 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 getFullyQualifiedName()
          Deprecated. use getSqlExpression() instead.
 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.
 String getOption(String key)
          Returns the value of an option.
 Map<String,String> getOptions()
          Returns an unmodifiable map of all options.
 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 colum 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 setOption(String key, String value)
          Sets an option.
 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 colum uses primitive values rather than objects.
 String toString()
           
 
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.

getFullyQualifiedName

@Deprecated
public String getFullyQualifiedName()
Deprecated. use getSqlExpression() instead.

Get the table name + column name.

Returns:
A String with the full 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 colum uses primitive values rather than objects.

Returns:
true if this colum uses primitive values, false if it uses objects.

setUsePrimitive

public void setUsePrimitive(boolean usePrimitive)
Sets whether this colum 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.

getOptions

public Map<String,String> getOptions()
Returns an unmodifiable map of all options.

Returns:
A map containing all options, not null.

setOption

public void setOption(String key,
                      String value)
Sets an option.

Parameters:
key - the key of the option
value - the value of the option.

getOption

public String getOption(String key)
Returns the value of an option.

Parameters:
key - the key of the option.
Returns:
the value of the option, or null if not 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


Copyright © 2000-2013 The Apache Software Foundation. All Rights Reserved.