Package org.datanucleus.store.rdbms.key
Class ForeignKey
- java.lang.Object
-
- org.datanucleus.store.rdbms.key.Key
-
- org.datanucleus.store.rdbms.key.ForeignKey
-
public class ForeignKey extends Key
Representation of a foreign key to another table.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ForeignKey.FKAction
Enum representing an action on the FK.
-
Field Summary
Fields Modifier and Type Field Description private DatastoreAdapter
dba
private ForeignKey.FKAction
deleteAction
private java.lang.String
foreignKeyDefinition
private boolean
initiallyDeferred
private java.util.List<Column>
refColumns
private DatastoreClass
refTable
private ForeignKey.FKAction
updateAction
-
Constructor Summary
Constructors Constructor Description ForeignKey(DatastoreAdapter dba, boolean initiallyDeferred)
Constructor.ForeignKey(JavaTypeMapping mapping, DatastoreAdapter dba, DatastoreClass refTable, boolean initiallyDeferred)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addColumn(Column col, Column refCol)
Method to add a Column.boolean
equals(java.lang.Object obj)
Equality operator.java.lang.String
getRefColumnList()
DatastoreClass
getRefTable()
int
hashCode()
Hashcode operator.boolean
isEqual(ForeignKey fk)
void
setColumn(int seq, Column col, Column refCol)
Set the column for the specified positionseq
void
setDeleteAction(ForeignKey.FKAction deleteAction)
Mutator for deleteAction.void
setForMetaData(org.datanucleus.metadata.ForeignKeyMetaData fkmd)
Convenience mutator for setting the specification based on MetaDatavoid
setUpdateAction(ForeignKey.FKAction updateAction)
Mutator for updateAction.java.lang.String
toString()
Stringify method.-
Methods inherited from class org.datanucleus.store.rdbms.key.Key
addColumn, assertSameDatastoreObject, getColumnList, getColumnList, getColumns, getName, getNumberOfColumns, getTable, setColumn, setListMinimumSize, setName
-
-
-
-
Field Detail
-
dba
private DatastoreAdapter dba
-
initiallyDeferred
private boolean initiallyDeferred
-
refTable
private DatastoreClass refTable
-
updateAction
private ForeignKey.FKAction updateAction
-
deleteAction
private ForeignKey.FKAction deleteAction
-
refColumns
private java.util.List<Column> refColumns
-
foreignKeyDefinition
private java.lang.String foreignKeyDefinition
-
-
Constructor Detail
-
ForeignKey
public ForeignKey(DatastoreAdapter dba, boolean initiallyDeferred)
Constructor.- Parameters:
dba
- Datastore adapterinitiallyDeferred
- Whether the constraints are deferred
-
ForeignKey
public ForeignKey(JavaTypeMapping mapping, DatastoreAdapter dba, DatastoreClass refTable, boolean initiallyDeferred)
Constructor.- Parameters:
mapping
- The type mapping for this Foreign-key fielddba
- Datastore adapterrefTable
- Referred to tableinitiallyDeferred
- Whether they are deferred
-
-
Method Detail
-
setForMetaData
public void setForMetaData(org.datanucleus.metadata.ForeignKeyMetaData fkmd)
Convenience mutator for setting the specification based on MetaData- Parameters:
fkmd
- ForeignKey MetaData definition
-
setDeleteAction
public void setDeleteAction(ForeignKey.FKAction deleteAction)
Mutator for deleteAction.- Parameters:
deleteAction
- The deleteAction to set.
-
setUpdateAction
public void setUpdateAction(ForeignKey.FKAction updateAction)
Mutator for updateAction.- Parameters:
updateAction
- The updateAction to set.
-
addColumn
public void addColumn(Column col, Column refCol)
Method to add a Column.- Parameters:
col
- The column to addrefCol
- The column to reference
-
getRefTable
public DatastoreClass getRefTable()
-
getRefColumnList
public java.lang.String getRefColumnList()
-
setColumn
public void setColumn(int seq, Column col, Column refCol)
Set the column for the specified positionseq
- Parameters:
seq
- the specified positioncol
- the columnrefCol
- the foreign (refered) column
-
hashCode
public int hashCode()
Description copied from class:Key
Hashcode operator.
-
equals
public boolean equals(java.lang.Object obj)
Description copied from class:Key
Equality operator.
-
isEqual
public boolean isEqual(ForeignKey fk)
-
toString
public java.lang.String toString()
Stringify method. Generates the foreign key statement ready for use in an SQL call.- Overrides:
toString
in classjava.lang.Object
- Returns:
- String version of this object.
-
-