Package org.apache.openjpa.jdbc.schema
Class Table
- java.lang.Object
-
- org.apache.openjpa.jdbc.schema.NameSet
-
- org.apache.openjpa.jdbc.schema.Table
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<java.lang.Object>
,SourceTracker
public class Table extends NameSet implements java.lang.Comparable<java.lang.Object>, SourceTracker
Represents a database table.- Author:
- Abe White, Stephen Kim
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.apache.openjpa.lib.meta.SourceTracker
SRC_ANNOTATIONS, SRC_OTHER, SRC_XML
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Column
addColumn(java.lang.String name)
Deprecated.Column
addColumn(java.lang.String name, java.lang.String validName)
Deprecated.Column
addColumn(DBIdentifier name)
Column
addColumn(DBIdentifier name, DBIdentifier validName)
void
addCorrectedColumnName(java.lang.String name, boolean validate)
Deprecated.void
addCorrectedColumnName(DBIdentifier name, boolean validate)
ForeignKey
addForeignKey()
Add a foreign key to the table.ForeignKey
addForeignKey(java.lang.String name)
Deprecated.ForeignKey
addForeignKey(DBIdentifier name)
Index
addIndex(java.lang.String name)
Deprecated.Index
addIndex(DBIdentifier name)
PrimaryKey
addPrimaryKey()
Set the primary key for the table.PrimaryKey
addPrimaryKey(java.lang.String name)
Deprecated.PrimaryKey
addPrimaryKey(DBIdentifier name)
Unique
addUnique(java.lang.String name)
Deprecated.Unique
addUnique(DBIdentifier name)
int
compareTo(java.lang.Object other)
boolean
containsColumn(java.lang.String name)
Deprecated.boolean
containsColumn(java.lang.String name, DBDictionary dict)
Deprecated.boolean
containsColumn(DBIdentifier name)
boolean
containsColumn(DBIdentifier name, DBDictionary dict)
boolean
containsColumn(Column col)
Column[]
getAutoAssignedColumns()
Return this table's auto-assigned columns.int
getColNumber()
Return the column number in the line of the file at which this instance was parsed.Column
getColumn(java.lang.String name)
Deprecated.Column
getColumn(DBIdentifier name)
Column
getColumn(DBIdentifier name, boolean create)
java.lang.String[]
getColumnNames()
Return the list of column names, used only for informative (error) messages.Column[]
getColumns()
Return the table's columns, in alphabetical order.java.lang.String
getComment()
ForeignKey
getForeignKey(java.lang.String name)
Deprecated.ForeignKey
getForeignKey(DBIdentifier name)
ForeignKey[]
getForeignKeys()
Return all foreign keys for the table.DBIdentifier
getFullIdentifier()
java.lang.String
getFullName()
Deprecated.DBIdentifier
getIdentifier()
Index
getIndex(java.lang.String name)
Deprecated.Index
getIndex(DBIdentifier name)
Index[]
getIndexes()
Return the table's indexes.int
getLineNumber()
Return the line number of the file at which this instance was parsed.java.lang.String
getName()
Deprecated.PrimaryKey
getPrimaryKey()
Return the primary key for the table, if any.QualifiedDBIdentifier
getQualifiedPath()
Column[]
getRelationIdColumns()
Return this table's relation id columns.java.lang.String
getResourceName()
Return the domain-meaningful name of the resource that was loaded from this source.Schema
getSchema()
Return the schema for the table.DBIdentifier
getSchemaIdentifier()
java.lang.String
getSchemaName()
Deprecated.java.io.File
getSourceFile()
Return the file from which this instance was parsed.java.lang.Object
getSourceScope()
Return the domain-dependent scope of this instance within its file.int
getSourceType()
Return the type of source.Unique
getUnique(java.lang.String name)
Deprecated.Unique
getUnique(DBIdentifier name)
Unique[]
getUniques()
Return the table's unique constraints.boolean
hasComment()
Column
importColumn(Column col)
Import a column from another table.ForeignKey
importForeignKey(ForeignKey fk)
Import a foreign key; column names must match columns of this table.Index
importIndex(Index idx)
Import an index; column names must match columns of this table.PrimaryKey
importPrimaryKey(PrimaryKey pk)
Import a primary key; column names must match columns of this table.Unique
importUnique(Unique unq)
Import a constraint; column names must match columns of this table.boolean
isAssociation()
boolean
removeColumn(Column col)
Remove the given column from the table.boolean
removeForeignKey(ForeignKey fk)
Remove the given foreign key from the table.boolean
removeIndex(Index idx)
Remove the given index from the table.boolean
removePrimaryKey()
Remove the primary key from this table.boolean
removeUnique(Unique unq)
Remove the given unique constraint from the table.void
setAssociation()
void
setColNumber(int colNum)
void
setComment(java.lang.String comment)
void
setIdentifier(DBIdentifier name)
Set the name of the table.void
setLineNumber(int lineNum)
void
setName(java.lang.String name)
Deprecated.usesetIdentifier(DBIdentifier)
instead.void
setSchemaIdentifier(DBIdentifier name)
void
setSchemaName(java.lang.String name)
Deprecated.void
setSource(java.io.File source, int srcType)
java.lang.String
toString()
-
Methods inherited from class org.apache.openjpa.jdbc.schema.NameSet
addName, addName, isNameTaken, isNameTaken, removeName, removeName
-
-
-
-
Constructor Detail
-
Table
public Table()
Default constructor.
-
Table
@Deprecated public Table(java.lang.String name, Schema schema)
Deprecated.Constructor.- Parameters:
name
- the table nameschema
- the table schema
-
Table
public Table(DBIdentifier name, Schema schema)
-
-
Method Detail
-
setAssociation
public void setAssociation()
-
isAssociation
public boolean isAssociation()
-
getSchema
public Schema getSchema()
Return the schema for the table.
-
getSchemaName
@Deprecated public java.lang.String getSchemaName()
Deprecated.The table's schema name.
-
getSchemaIdentifier
public DBIdentifier getSchemaIdentifier()
-
setSchemaName
@Deprecated public void setSchemaName(java.lang.String name)
Deprecated.The table's schema name. You can only call this method on tables whose schema object is not set.
-
setSchemaIdentifier
public void setSchemaIdentifier(DBIdentifier name)
-
getName
@Deprecated public java.lang.String getName()
Deprecated.Return the name of the table.
-
getIdentifier
public DBIdentifier getIdentifier()
-
setName
@Deprecated public void setName(java.lang.String name)
Deprecated.usesetIdentifier(DBIdentifier)
instead.Set the name of the table. This method can only be called on tables that are not part of a schema.
-
setIdentifier
public void setIdentifier(DBIdentifier name)
Set the name of the table. This method can only be called on tables which are not part of a schema.- Parameters:
name
- The name of the table.- Throws:
java.lang.IllegalStateException
- ifgetSchema()
does not return null.
-
getFullName
@Deprecated public java.lang.String getFullName()
Deprecated.Return the table name, including schema, using '.' as the catalog separator.
-
getQualifiedPath
public QualifiedDBIdentifier getQualifiedPath()
-
getFullIdentifier
public DBIdentifier getFullIdentifier()
-
getSourceFile
public java.io.File getSourceFile()
Description copied from interface:SourceTracker
Return the file from which this instance was parsed.- Specified by:
getSourceFile
in interfaceSourceTracker
-
getSourceScope
public java.lang.Object getSourceScope()
Description copied from interface:SourceTracker
Return the domain-dependent scope of this instance within its file.- Specified by:
getSourceScope
in interfaceSourceTracker
-
getSourceType
public int getSourceType()
Description copied from interface:SourceTracker
Return the type of source.- Specified by:
getSourceType
in interfaceSourceTracker
-
setSource
public void setSource(java.io.File source, int srcType)
-
getResourceName
public java.lang.String getResourceName()
Description copied from interface:SourceTracker
Return the domain-meaningful name of the resource that was loaded from this source. I.e., if we had loaded the source for a Java class, this would return the name of the class.- Specified by:
getResourceName
in interfaceSourceTracker
-
getColumns
public Column[] getColumns()
Return the table's columns, in alphabetical order.
-
getAutoAssignedColumns
public Column[] getAutoAssignedColumns()
Return this table's auto-assigned columns.
-
getRelationIdColumns
public Column[] getRelationIdColumns()
Return this table's relation id columns.
-
getColumnNames
public java.lang.String[] getColumnNames()
Return the list of column names, used only for informative (error) messages.- Returns:
-
getColumn
@Deprecated public Column getColumn(java.lang.String name)
Deprecated.Return the column with the given name, or null if none.
-
getColumn
public Column getColumn(DBIdentifier name)
-
getColumn
public Column getColumn(DBIdentifier name, boolean create)
-
containsColumn
@Deprecated public boolean containsColumn(java.lang.String name)
Deprecated.Affirms if this table contains the column of the given name without any side-effect.
-
containsColumn
public boolean containsColumn(DBIdentifier name)
-
containsColumn
@Deprecated public boolean containsColumn(java.lang.String name, DBDictionary dict)
Deprecated.Affirms if this table contains the column of the given name without any side-effect.- Parameters:
dict
- the current database dictionary or null.- See Also:
can have side-effect of creating a column for dynamic table implementation.
-
containsColumn
public boolean containsColumn(DBIdentifier name, DBDictionary dict)
-
containsColumn
public boolean containsColumn(Column col)
-
addColumn
@Deprecated public Column addColumn(java.lang.String name)
Deprecated.Add a column to the table.
-
addColumn
public Column addColumn(DBIdentifier name)
-
addColumn
@Deprecated public Column addColumn(java.lang.String name, java.lang.String validName)
Deprecated.Add a column with a shortened (i.e., validated) name to the table
-
addColumn
public Column addColumn(DBIdentifier name, DBIdentifier validName)
-
addCorrectedColumnName
@Deprecated public void addCorrectedColumnName(java.lang.String name, boolean validate)
Deprecated.Add a name to this NameSet
-
addCorrectedColumnName
public void addCorrectedColumnName(DBIdentifier name, boolean validate)
-
removeColumn
public boolean removeColumn(Column col)
Remove the given column from the table.- Returns:
- true if the column was removed, false if not in the table
-
getPrimaryKey
public PrimaryKey getPrimaryKey()
Return the primary key for the table, if any.
-
addPrimaryKey
public PrimaryKey addPrimaryKey()
Set the primary key for the table.
-
addPrimaryKey
@Deprecated public PrimaryKey addPrimaryKey(java.lang.String name)
Deprecated.Set the primary key for the table.
-
addPrimaryKey
public PrimaryKey addPrimaryKey(DBIdentifier name)
-
removePrimaryKey
public boolean removePrimaryKey()
Remove the primary key from this table.- Returns:
- true if there was a pk to remove, false otherwise
-
importPrimaryKey
public PrimaryKey importPrimaryKey(PrimaryKey pk)
Import a primary key; column names must match columns of this table.
-
getForeignKey
@Deprecated public ForeignKey getForeignKey(java.lang.String name)
Deprecated.Return the foreign key with the given name. If multiple foreign keys have the name, the first match is returned.
-
getForeignKey
public ForeignKey getForeignKey(DBIdentifier name)
-
getForeignKeys
public ForeignKey[] getForeignKeys()
Return all foreign keys for the table.
-
addForeignKey
public ForeignKey addForeignKey()
Add a foreign key to the table.
-
addForeignKey
@Deprecated public ForeignKey addForeignKey(java.lang.String name)
Deprecated.Add a foreign key to the table. Duplicate key names are not allowed.
-
addForeignKey
public ForeignKey addForeignKey(DBIdentifier name)
-
removeForeignKey
public boolean removeForeignKey(ForeignKey fk)
Remove the given foreign key from the table.- Returns:
- true if the key was removed, false if not in the table
-
importForeignKey
public ForeignKey importForeignKey(ForeignKey fk)
Import a foreign key; column names must match columns of this table.
-
getIndexes
public Index[] getIndexes()
Return the table's indexes.
-
getIndex
@Deprecated public Index getIndex(java.lang.String name)
Deprecated.Return the index with the given name, or null if none.
-
getIndex
public Index getIndex(DBIdentifier name)
-
addIndex
@Deprecated public Index addIndex(java.lang.String name)
Deprecated.Add an index to the table.
-
addIndex
public Index addIndex(DBIdentifier name)
-
removeIndex
public boolean removeIndex(Index idx)
Remove the given index from the table.- Returns:
- true if the index was removed, false if not in the table
-
importIndex
public Index importIndex(Index idx)
Import an index; column names must match columns of this table.
-
getUniques
public Unique[] getUniques()
Return the table's unique constraints.
-
getUnique
@Deprecated public Unique getUnique(java.lang.String name)
Deprecated.Return the unique constraint with the given name, or null if none.
-
getUnique
public Unique getUnique(DBIdentifier name)
-
addUnique
@Deprecated public Unique addUnique(java.lang.String name)
Deprecated.Add a unique constraint to the table.
-
addUnique
public Unique addUnique(DBIdentifier name)
-
removeUnique
public boolean removeUnique(Unique unq)
Remove the given unique constraint from the table.- Returns:
- true if the constraint was removed, false if not in the table
-
importUnique
public Unique importUnique(Unique unq)
Import a constraint; column names must match columns of this table.
-
compareTo
public int compareTo(java.lang.Object other)
- Specified by:
compareTo
in interfacejava.lang.Comparable<java.lang.Object>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
hasComment
public boolean hasComment()
-
getComment
public java.lang.String getComment()
-
setComment
public void setComment(java.lang.String comment)
-
getLineNumber
public int getLineNumber()
Description copied from interface:SourceTracker
Return the line number of the file at which this instance was parsed.- Specified by:
getLineNumber
in interfaceSourceTracker
-
setLineNumber
public void setLineNumber(int lineNum)
-
getColNumber
public int getColNumber()
Description copied from interface:SourceTracker
Return the column number in the line of the file at which this instance was parsed.- Specified by:
getColNumber
in interfaceSourceTracker
-
setColNumber
public void setColNumber(int colNum)
-
-