|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.openjpa.jdbc.schema.Constraint org.apache.openjpa.jdbc.schema.ForeignKey
public class ForeignKey
Represents a database foreign key; may be a logical key with no
database representation. This class can also represent a partial key,
aligning with DatabaseMetaData
.
Field Summary | |
---|---|
static int |
ACTION_CASCADE
Cascade any modification of the joined primary key columns to this table. |
static int |
ACTION_DEFAULT
Set the local columns to their default values if the primary key columns are modified. |
static int |
ACTION_NONE
Logical foreign key; links columns, but does not perform any action when the joined primary key columns are modified. |
static int |
ACTION_NULL
Null the local columns if the joined primary key columns are modified. |
static int |
ACTION_RESTRICT
Throw an exception if joined primary key columns are modified. |
Constructor Summary | |
---|---|
ForeignKey()
Default constructor. |
|
ForeignKey(String name,
Table table)
Constructor. |
Method Summary | |
---|---|
boolean |
columnsMatch(Column[] fkCols,
Column[] fkPKCols)
Return true if the given local and foreign columns match those on this key. |
boolean |
containsColumn(Column col)
Return true if the fk includes the given local column. |
boolean |
containsConstantColumn(Column col)
Return true if the fk includes the given local column. |
boolean |
containsConstantPrimaryKeyColumn(Column col)
Return true if the fk includes the given primary key column. |
boolean |
containsPrimaryKeyColumn(Column col)
Return true if the fk includes the given primary key column. |
void |
deref()
|
void |
derefColumns()
Deref all columns in this key. |
boolean |
equalsForeignKey(ForeignKey fk)
Foreign keys are equal if the satisfy the equality constraints of Constraint and they have the same local and primary key
columns and action. |
static int |
getAction(String name)
Return the foreign key action constant for the given action name. |
static String |
getActionName(int action)
Return the foreign key action name for the given action constant. |
Column |
getColumn(Column pk)
Return the local column joined to the given primary key column. |
Column[] |
getColumns()
Return the local columns in the foreign key local table order. |
Object |
getConstant(Column local)
Return the constant value assigned to the given local column. |
Column[] |
getConstantColumns()
Return the local columns that we link to using constant values. |
Column[] |
getConstantPrimaryKeyColumns()
Return the primary key columns that we link to using constant values. |
Object[] |
getConstants()
Return the constant values assigned to the local columns returned by getConstantColumns() . |
int |
getDeleteAction()
Return the delete action for the key. |
int |
getIndex()
Return the foreign key's 0-based index in the owning table. |
int |
getKeySequence()
The sequence of this join in the foreign key. |
Column |
getPrimaryKeyColumn(Column local)
Return the primary key column joined to the given local column. |
String |
getPrimaryKeyColumnName()
The name of the primary key column. |
Column[] |
getPrimaryKeyColumns()
Return the foreign columns in the foreign key, in join-order with the result of getColumns() . |
Object |
getPrimaryKeyConstant(Column pk)
Return the constant value assigned to the given primary key column. |
Object[] |
getPrimaryKeyConstants()
Return the constant values assigned to the primary key columns returned by getConstantPrimaryKeyColumns() . |
String |
getPrimaryKeySchemaName()
The name of the primary key table's schema. |
Table |
getPrimaryKeyTable()
Returns the table this foreign key is linking to, if it is known yet. |
String |
getPrimaryKeyTableName()
The name of the primary key table. |
int |
getRefCount()
|
int |
getUpdateAction()
Return the update action for the key. |
boolean |
isLogical()
Return whether this constraint is a logical constraint only; i.e. |
boolean |
isPrimaryKeyAutoAssigned()
Whether the primary key columns of this key are auto-incrementing, or whether they themselves are members of a foreign key who's primary key is auto-incrementing (recursing to arbitrary depth). |
void |
join(Column local,
Column toPK)
Join a local column to a primary key column of another table. |
void |
joinConstant(Column col,
Object val)
Join a constant value to a local column of this table. |
void |
joinConstant(Object val,
Column toPK)
Join a constant value to a primary key column of another table. |
void |
ref()
|
void |
refColumns()
Ref all columns in this key. |
boolean |
removeJoin(Column col)
Remove any joins inolving the given column. |
void |
setConstantJoins(Column[] cols,
Object[] consts)
Set the foreign key's constant joins. |
void |
setConstantJoins(Object[] consts,
Column[] pkCols)
Set the foreign key's constant joins. |
void |
setDeleteAction(int action)
Set the delete action for the key. |
void |
setJoins(Column[] cols,
Column[] pkCols)
Set the foreign key's joins. |
void |
setKeySequence(int seq)
The sequence of this join in the foreign key. |
void |
setPrimaryKeyColumnName(String pkColumnName)
The name of the primary key column. |
void |
setPrimaryKeySchemaName(String pkSchemaName)
The name of the primary key table's schema. |
void |
setPrimaryKeyTableName(String pkTableName)
The name of the primary key table. |
void |
setUpdateAction(int action)
Set the update action for the key. |
Methods inherited from class org.apache.openjpa.jdbc.schema.Constraint |
---|
getColumnName, getFullName, getName, getSchemaName, getTable, getTableName, isDeferred, setColumnName, setDeferred, setName, setSchemaName, setTableName, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int ACTION_NONE
public static final int ACTION_RESTRICT
public static final int ACTION_CASCADE
public static final int ACTION_NULL
public static final int ACTION_DEFAULT
Constructor Detail |
---|
public ForeignKey()
public ForeignKey(String name, Table table)
name
- the foreign key name, if anytable
- the local table of the foreign keyMethod Detail |
---|
public static int getAction(String name)
public static String getActionName(int action)
public boolean isLogical()
Constraint
isLogical
in class Constraint
public boolean isPrimaryKeyAutoAssigned()
public String getPrimaryKeyTableName()
public void setPrimaryKeyTableName(String pkTableName)
public String getPrimaryKeySchemaName()
public void setPrimaryKeySchemaName(String pkSchemaName)
public String getPrimaryKeyColumnName()
public void setPrimaryKeyColumnName(String pkColumnName)
public int getKeySequence()
public void setKeySequence(int seq)
public int getDeleteAction()
ACTION_NONE
, ACTION_RESTRICT
,
ACTION_CASCADE
, ACTION_NULL
, ACTION_DEFAULT
.
public void setDeleteAction(int action)
ACTION_NONE
, ACTION_RESTRICT
,
ACTION_CASCADE
, ACTION_NULL
, ACTION_DEFAULT
.
public int getUpdateAction()
ACTION_NONE
, ACTION_RESTRICT
,
ACTION_CASCADE
, ACTION_NULL
, ACTION_DEFAULT
.
public void setUpdateAction(int action)
ACTION_NONE
, ACTION_RESTRICT
,
ACTION_CASCADE
, ACTION_NULL
, ACTION_DEFAULT
.
public int getIndex()
public Column getPrimaryKeyColumn(Column local)
public Column getColumn(Column pk)
public Object getConstant(Column local)
public Object getPrimaryKeyConstant(Column pk)
public Column[] getColumns()
public Object[] getConstants()
getConstantColumns()
.
public Object[] getPrimaryKeyConstants()
getConstantPrimaryKeyColumns()
.
public boolean containsColumn(Column col)
public boolean containsPrimaryKeyColumn(Column col)
public boolean containsConstantColumn(Column col)
public boolean containsConstantPrimaryKeyColumn(Column col)
public Column[] getPrimaryKeyColumns()
getColumns()
.
public Column[] getConstantColumns()
public Column[] getConstantPrimaryKeyColumns()
public void setJoins(Column[] cols, Column[] pkCols)
public void setConstantJoins(Object[] consts, Column[] pkCols)
public void setConstantJoins(Column[] cols, Object[] consts)
public void join(Column local, Column toPK)
public void joinConstant(Object val, Column toPK)
public void joinConstant(Column col, Object val)
public boolean removeJoin(Column col)
public Table getPrimaryKeyTable()
public void refColumns()
public void derefColumns()
public boolean equalsForeignKey(ForeignKey fk)
Constraint
and they have the same local and primary key
columns and action.
public boolean columnsMatch(Column[] fkCols, Column[] fkPKCols)
public int getRefCount()
public void ref()
public void deref()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |