Class Column

  • All Implemented Interfaces:
    java.io.Serializable

    public class Column
    extends java.lang.Object
    Represents a database column. Closely aligned with the column information available from DatabaseMetaData.
    Author:
    Abe White, Stephen Kim
    See Also:
    Serialized Form
    • Constructor Detail

      • Column

        public Column()
        Default constructor.
      • Column

        @Deprecated
        public Column​(java.lang.String name,
                      Table table)
        Deprecated.
        Constructor.
        Parameters:
        name - the name of the column
        table - the column's table
    • Method Detail

      • getTable

        public Table getTable()
        Return the table for the column.
      • getTableName

        @Deprecated
        public java.lang.String getTableName()
        Deprecated.
        The column's table name.
      • getTableIdentifier

        public DBIdentifier getTableIdentifier()
      • setTableName

        @Deprecated
        public void setTableName​(java.lang.String name)
        Deprecated.
        The column's table name. You can only call this method on columns whose table object is not set.
      • setTableIdentifier

        public void setTableIdentifier​(DBIdentifier name)
      • resetTableName

        @Deprecated
        public void resetTableName​(java.lang.String name)
        Deprecated.
        Reset the table name with the fully qualified table name which includes the schema name
      • resetTableIdentifier

        public void resetTableIdentifier​(DBIdentifier table)
      • getSchemaName

        @Deprecated
        public java.lang.String getSchemaName()
        Deprecated.
        The column's schema name.
      • getSchemaIdentifier

        public DBIdentifier getSchemaIdentifier()
      • setSchemaName

        @Deprecated
        public void setSchemaName​(java.lang.String name)
        Deprecated.
        use setSchemaIdentifier(DBIdentifier name)
        The column's schema name. You can only call this method on columns whose table object is not set.
      • setSchemaIdentifier

        public void setSchemaIdentifier​(DBIdentifier name)
      • getName

        @Deprecated
        public java.lang.String getName()
        Deprecated.
        use getIdentifier()
        Return the column's name.
      • setName

        @Deprecated
        public void setName​(java.lang.String name)
        Deprecated.
        use setIdentifier(DBIdentifier name)
        Set the column's name. You can only call this method on columns whose table object is not set.
      • setIdentifier

        public void setIdentifier​(DBIdentifier name)
      • getFullName

        @Deprecated
        public java.lang.String getFullName()
        Deprecated.
        use getFullDBIdentifier()
        Return the column's full name, in the form <table>.<name>.
      • getFullDBIdentifier

        public DBIdentifier getFullDBIdentifier()
      • getType

        public int getType()
        Return the column's SQL type. This will be one of the type constants defined in Types.
      • setType

        public void setType​(int sqlType)
        Set the column's SQL type. This should be one of the type constants defined in Types.
      • getTypeName

        @Deprecated
        public java.lang.String getTypeName()
        Deprecated.
        The database-specific SQL type of this column.
      • getTypeIdentifier

        public DBIdentifier getTypeIdentifier()
      • setTypeName

        @Deprecated
        public void setTypeName​(java.lang.String typeName)
        Deprecated.
        The database-specific SQL type of this column.
      • setTypeIdentifier

        public void setTypeIdentifier​(DBIdentifier typeName)
      • getJavaType

        public int getJavaType()
        The Java type the data in this column is treated as, from JavaTypes or JavaSQLTypes.
      • setJavaType

        public void setJavaType​(int type)
        The Java type the data in this column is treated as, from JavaTypes or JavaSQLTypes.
      • getSize

        public int getSize()
        Return the column's size.
      • setSize

        public void setSize​(int size)
        Set the column's size.
      • getDecimalDigits

        public int getDecimalDigits()
        Return the number of decimal digits for the column, if applicable.
      • setDecimalDigits

        public void setDecimalDigits​(int digits)
        Set the number of decimal digits for the column.
      • getPrecision

        public int getPrecision()
      • setPrecision

        public void setPrecision​(int p)
      • getScale

        public int getScale()
      • setScale

        public void setScale​(int s)
      • getRadix

        public int getRadix()
      • setRadix

        public void setRadix​(int r)
      • getDefaultString

        public java.lang.String getDefaultString()
        Return the default value set for the column, if any.
      • setDefaultString

        public void setDefaultString​(java.lang.String def)
        Set the default value for the column.
      • getDefault

        public java.lang.Object getDefault()
        Return the default value set for this column, if any. If only a default string has been set, attempts to convert it to the right type based on the Java type set for this column.
      • setDefault

        public void setDefault​(java.lang.Object def)
        Set the default value for the column.
      • isNotNull

        public boolean isNotNull()
        Return true if this is a NOT NULL column.
      • setNotNull

        public void setNotNull​(boolean notNull)
        Set whether this is a NOT NULL column.
      • isNotNullExplicit

        public boolean isNotNullExplicit()
        Whether the not-null property has been set.
      • setNullability

        public void setNullability​(short flag)
        Sets nullability of this receiver by the given flag.
        Parameters:
        flag - one of the JDBC nullability flag namely
      • DatabaseMetaData.columnNullableUnknown : not known if the column can be set to null value
      • DatabaseMetaData.columnNullable : the column can be set to null value
      • DatabaseMetaData.columnNoNulls : the column can not be set to null value
      • isAutoAssigned

        public boolean isAutoAssigned()
        Whether this column is auto-assigned a value on insert.
      • setAutoAssigned

        public void setAutoAssigned​(boolean autoAssign)
        Whether this column is auto-incrementing.
      • isRelationId

        public boolean isRelationId()
        Whether this column stores some form of serialized identity value for a related record. This makes the column dependent on the knowing the final identity of the relation before the column value is set.
      • setRelationId

        public void setRelationId​(boolean rel)
        Whether this column stores some form of serialized identity value for a related record. This makes the column dependent on the knowing the final identity of the relation before the column value is set.
      • getTarget

        @Deprecated
        public java.lang.String getTarget()
        Deprecated.
        use getTargetIdentifier()
        The name of the column this column joins to, if any. Used for mapping.
      • getTargetIdentifier

        public DBIdentifier getTargetIdentifier()
      • setTarget

        @Deprecated
        public void setTarget​(java.lang.String target)
        Deprecated.
        use setTargetIdentifier(DBIdentifier target)
        The name of the column this column joins to, if any. Used for mapping.
      • setTargetIdentifier

        public void setTargetIdentifier​(DBIdentifier target)
      • getTargetField

        public java.lang.String getTargetField()
        The name of the field this column joins to, if any. Used for mapping.
      • setTargetField

        public void setTargetField​(java.lang.String target)
        The name of the field this column joins to, if any. Used for mapping.
      • getFlag

        public boolean getFlag​(int flag)
        Flags are used for bookkeeping information. They are ignored at runtime.
      • setFlag

        public void setFlag​(int flag,
                            boolean on)
        Flags are used for bookkeeping information. They are ignored at runtime.
      • isPrimaryKey

        public boolean isPrimaryKey()
        Return true if this column belongs to the table's primary key.
      • getIndex

        public int getIndex()
        Return the column's 0-based index in the owning table.
      • setIndex

        public void setIndex​(int index)
        Set the column's 0-based index in the owning table.
      • isLob

        public boolean isLob()
        Whether this column is a LOB.
      • isCompatible

        public boolean isCompatible​(int type,
                                    java.lang.String typeName,
                                    int size,
                                    int decimals)
        Return true if this column is compatible with the given JDBC type from Types and size.
      • toString

        public java.lang.String toString()
        Returns the column name.
        Overrides:
        toString in class java.lang.Object
      • getDescription

        public java.lang.String getDescription()
        Useful for debugging.
      • equalsColumn

        public boolean equalsColumn​(DBDictionary dict,
                                    Column col)
        Tests compatibility.
      • copy

        public void copy​(Column from)
        Copy information from the given column to this one.
      • isXML

        public boolean isXML()
        Whether this column is of XML type.
      • setXML

        public void setXML​(boolean xml)
        Whether this column is of XML type.
      • setVersionStrategy

        public void setVersionStrategy​(VersionStrategy strategy)
      • hasComment

        public boolean hasComment()
      • getComment

        public java.lang.String getComment()
      • setComment

        public void setComment​(java.lang.String comment)
      • isImplicitRelation

        public boolean isImplicitRelation()
        Affirms if this instance represents an implicit relation. For example, a relation expressed as the value of primary key of the related class and not as object reference.
        Since:
        1.3.0
      • setImplicitRelation

        public void setImplicitRelation​(boolean flag)
        Sets a marker to imply a logical relation that can not have any physical manifest in the database. For example, a relation expressed as the value of primary key of the related class and not as object reference. Populated from @ForeignKey(implicit=true) annotation. The mutator can only transit from false to true but not vice versa.
        Since:
        1.3.0
      • isUni1MFK

        public boolean isUni1MFK()
        Sets a marker to indicate that this instance represents a uni-directional one to many relation using the foreign key strategy. This non-default mapping of uni-directional one-to-many is supported in JPA 2.0.
        Since:
        2.0
      • setUni1MFK

        public void setUni1MFK​(boolean isUni1MFK)
        Affirms if this instance represents a uni-directional one to many relation using the foreign key strategy. This non-default mapping of uni-directional one-to-many is supported in JPA 2.0.
        Since:
        2.0
      • addConstraint

        public void addConstraint​(Constraint c)
        Adds the given constraint to this column.
      • removeConstraint

        public void removeConstraint​(Constraint c)
        Removes the given constraint from this column.
      • hasConstraint

        public boolean hasConstraint​(java.lang.Class<? extends Constraint> type)
        Affirms if this column has any constraint of given type.
      • getConstraints

        public java.util.Set<Constraint> getConstraints()
        Gets all constrains attached this column.
      • getConstraints

        public <T extends Constraint> java.util.Set<T> getConstraints​(java.lang.Class<T> type)
        Gets all constrains of the given type attached to this column.
      • isUniqueConstraint

        public boolean isUniqueConstraint()
        Affirms if any unique constraint is attached to this column.
      • isIndex

        public boolean isIndex()
        Affirms if any index constraint is attached to this column.
      • isForeignKey

        public boolean isForeignKey()
        Affirms if any foreign key constraint is attached to this column.
      • getRefCount

        public int getRefCount()
      • ref

        public void ref()
      • deref

        public void deref()