org.eclipse.wst.rdb.internal.models.sql.constraints
Interface ForeignKey

All Superinterfaces:
Constraint, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.ENamedElement, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.notify.Notifier, ReferenceConstraint, SQLObject, TableConstraint
All Known Implementing Classes:
ForeignKeyImpl

public interface ForeignKey
extends ReferenceConstraint

A representation of the model object 'Foreign Key'. Section 4.17 In the case that a table constraint is a referential constraint, the table is referred to as the referencing table. The referenced columns of a referential constraint shall be the unique columns of some unique constraint of the referenced table. Section 11.8 5) The referenced table shall be a base table. Case: a) If the referencing table is a persistent base table, then the referenced table shall be a persistent base table. b) If the referencing table is a global temporary table, then the referenced table shall be a global temporary table. c) If the referencing table is a created local temporary table, then the referenced table shall be either a global temporary table or a created local temporary table. d) If the referencing table is a declared local temporary table, then the referenced table shall be either a global temporary table, a created local temporary table or a declared local temporary table. 6) If the referenced table is a temporary table with ON COMMIT DELETE ROWS specified, then the ref-erencing table shall specify ON COMMIT DELETE ROWS . 7) Each referencing column shall identify a column of the referencing table, and the same column shall not be identified more than once. 9) The shall contain the same number of s as the . The i-th column identified in the corresponds to the i-th column identified in the . The declared type of each referencing column shall be comparable to the declared type of the corresponding referenced column. There shall not be corresponding constituents of the declared type of a referencing column and the declared type of the corresponding referenced column such that one constituent is datetime with time zone and the other is datetime without time zone. 10) If a does not specify any , then an with a of NO ACTION is implicit. 11) If a does not specify any , then a with a of NO ACTION is implicit.

The following features are supported:

See Also:
SQLConstraintsPackage.getForeignKey()

Method Summary
 MatchType getMatch()
          Returns the value of the 'Match' attribute.
 ReferentialActionType getOnDelete()
          Returns the value of the 'On Delete' attribute.
 ReferentialActionType getOnUpdate()
          Returns the value of the 'On Update' attribute.
 org.eclipse.emf.common.util.EList getReferencedMembers()
          Returns the value of the 'Referenced Members' reference list.
 UniqueConstraint getUniqueConstraint()
          Returns the value of the 'Unique Constraint' reference.
 Index getUniqueIndex()
          Returns the value of the 'Unique Index' reference.
 void setMatch(MatchType value)
          Sets the value of the 'Match' attribute.
 void setOnDelete(ReferentialActionType value)
          Sets the value of the 'On Delete' attribute.
 void setOnUpdate(ReferentialActionType value)
          Sets the value of the 'On Update' attribute.
 void setUniqueConstraint(UniqueConstraint value)
          Sets the value of the 'Unique Constraint' reference.
 void setUniqueIndex(Index value)
          Sets the value of the 'Unique Index' reference.
 
Methods inherited from interface org.eclipse.wst.rdb.internal.models.sql.constraints.ReferenceConstraint
getMembers
 
Methods inherited from interface org.eclipse.wst.rdb.internal.models.sql.constraints.TableConstraint
getBaseTable, setBaseTable
 
Methods inherited from interface org.eclipse.wst.rdb.internal.models.sql.constraints.Constraint
isDeferrable, isEnforced, isInitiallyDeferred, setDeferrable, setEnforced, setInitiallyDeferred
 
Methods inherited from interface org.eclipse.wst.rdb.internal.models.sql.schema.SQLObject
addEAnnotation, addEAnnotationDetail, getDependencies, getDescription, getEAnnotation, getEAnnotationDetail, getLabel, removeEAnnotationDetail, setAnnotationDetail, setDescription, setLabel
 
Methods inherited from interface org.eclipse.emf.ecore.ENamedElement
getName, setName
 
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotations
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 

Method Detail

getMatch

public MatchType getMatch()
Returns the value of the 'Match' attribute. The default value is "MATCH_SIMPLE". The literals are from the enumeration MatchType.

If the meaning of the 'Match' attribute isn't clear, there really should be more of a description here...

Returns:
the value of the 'Match' attribute.
See Also:
MatchType, setMatch(MatchType), SQLConstraintsPackage.getForeignKey_Match()

setMatch

public void setMatch(MatchType value)
Sets the value of the 'Match' attribute.
Parameters:
value - the new value of the 'Match' attribute.
See Also:
MatchType, getMatch()

getOnUpdate

public ReferentialActionType getOnUpdate()
Returns the value of the 'On Update' attribute. The default value is "NO_ACTION". The literals are from the enumeration ReferentialActionType.

If the meaning of the 'On Update' attribute isn't clear, there really should be more of a description here...

Returns:
the value of the 'On Update' attribute.
See Also:
ReferentialActionType, setOnUpdate(ReferentialActionType), SQLConstraintsPackage.getForeignKey_OnUpdate()

setOnUpdate

public void setOnUpdate(ReferentialActionType value)
Sets the value of the 'On Update' attribute.
Parameters:
value - the new value of the 'On Update' attribute.
See Also:
ReferentialActionType, getOnUpdate()

getOnDelete

public ReferentialActionType getOnDelete()
Returns the value of the 'On Delete' attribute. The default value is "NO_ACTION". The literals are from the enumeration ReferentialActionType.

If the meaning of the 'On Delete' attribute isn't clear, there really should be more of a description here...

Returns:
the value of the 'On Delete' attribute.
See Also:
ReferentialActionType, setOnDelete(ReferentialActionType), SQLConstraintsPackage.getForeignKey_OnDelete()

setOnDelete

public void setOnDelete(ReferentialActionType value)
Sets the value of the 'On Delete' attribute.
Parameters:
value - the new value of the 'On Delete' attribute.
See Also:
ReferentialActionType, getOnDelete()

getUniqueConstraint

public UniqueConstraint getUniqueConstraint()
Returns the value of the 'Unique Constraint' reference. It is bidirectional and its opposite is 'Foreign Key'.

If the meaning of the 'Unique Constraint' reference isn't clear, there really should be more of a description here...

Returns:
the value of the 'Unique Constraint' reference.
See Also:
setUniqueConstraint(UniqueConstraint), SQLConstraintsPackage.getForeignKey_UniqueConstraint(), UniqueConstraint.getForeignKey()

setUniqueConstraint

public void setUniqueConstraint(UniqueConstraint value)
Sets the value of the 'Unique Constraint' reference.
Parameters:
value - the new value of the 'Unique Constraint' reference.
See Also:
getUniqueConstraint()

getReferencedMembers

public org.eclipse.emf.common.util.EList getReferencedMembers()
Returns the value of the 'Referenced Members' reference list. The list contents are of type Column.

If the meaning of the 'Referenced Members' reference list isn't clear, there really should be more of a description here...

Returns:
the value of the 'Referenced Members' reference list.
See Also:
SQLConstraintsPackage.getForeignKey_ReferencedMembers()

getUniqueIndex

public Index getUniqueIndex()
Returns the value of the 'Unique Index' reference. It is bidirectional and its opposite is 'Foreign Key'.

If the meaning of the 'Unique Index' reference isn't clear, there really should be more of a description here...

Returns:
the value of the 'Unique Index' reference.
See Also:
setUniqueIndex(Index), SQLConstraintsPackage.getForeignKey_UniqueIndex(), Index.getForeignKey()

setUniqueIndex

public void setUniqueIndex(Index value)
Sets the value of the 'Unique Index' reference.
Parameters:
value - the new value of the 'Unique Index' reference.
See Also:
getUniqueIndex()