Class Column

java.lang.Object
org.apache.openjpa.jdbc.schema.Column
All Implemented Interfaces:
Serializable

public class Column extends Object
Represents a database column. Closely aligned with the column information available from DatabaseMetaData.
Author:
Abe White, Stephen Kim
See Also:
  • Field Details

  • Constructor Details

    • Column

      public Column()
      Default constructor.
    • Column

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

      public Column(DBIdentifier name, Table table)
  • Method Details

    • getTable

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

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

      public DBIdentifier getTableIdentifier()
    • setTableName

      @Deprecated public void setTableName(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(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 String getSchemaName()
      Deprecated.
      The column's schema name.
    • getSchemaIdentifier

      public DBIdentifier getSchemaIdentifier()
    • setSchemaName

      @Deprecated public void setSchemaName(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 String getName()
      Deprecated.
      use getIdentifier()
      Return the column's name.
    • getIdentifier

      public DBIdentifier getIdentifier()
    • setName

      @Deprecated public void setName(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 String getFullName()
      Deprecated.
      use getFullDBIdentifier()
      Return the column's full name, in the form <table>.<name>.
    • getFullDBIdentifier

      public DBIdentifier getFullDBIdentifier()
    • getQualifiedPath

      public QualifiedDBIdentifier getQualifiedPath()
    • 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 String getTypeName()
      Deprecated.
      The database-specific SQL type of this column.
    • getTypeIdentifier

      public DBIdentifier getTypeIdentifier()
    • setTypeName

      @Deprecated public void setTypeName(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 String getDefaultString()
      Return the default value set for the column, if any.
    • setDefaultString

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

      public 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(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 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(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 String getTargetField()
      The name of the field this column joins to, if any. Used for mapping.
    • setTargetField

      public void setTargetField(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, String typeName, int size, int decimals)
      Return true if this column is compatible with the given JDBC type from Types and size.
    • toString

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

      public 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.
    • getVersionStrategy

      public VersionStrategy getVersionStrategy()
    • setVersionStrategy

      public void setVersionStrategy(VersionStrategy strategy)
    • hasComment

      public boolean hasComment()
    • getComment

      public String getComment()
    • setComment

      public void setComment(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(Class<? extends Constraint> type)
      Affirms if this column has any constraint of given type.
    • getConstraints

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

      public <T extends Constraint> Set<T> getConstraints(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()