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