/** * <copyright> * </copyright> * * $Id$ */ package orgomg.cwm.resource.relational; import orgomg.cwm.foundation.keysindexes.KeyRelationship; import orgomg.cwm.resource.relational.enumerations.DeferrabilityType; import orgomg.cwm.resource.relational.enumerations.ReferentialRuleType; /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Foreign Key</b></em>'. * <!-- end-user-doc --> * * <!-- begin-model-doc --> * A Foreign Key associates columns from one table with columns of another table. * * * <!-- end-model-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link orgomg.cwm.resource.relational.ForeignKey#getDeleteRule <em>Delete Rule</em>}</li> * <li>{@link orgomg.cwm.resource.relational.ForeignKey#getUpdateRule <em>Update Rule</em>}</li> * <li>{@link orgomg.cwm.resource.relational.ForeignKey#getDeferrability <em>Deferrability</em>}</li> * </ul> * </p> * * @see orgomg.cwm.resource.relational.RelationalPackage#getForeignKey() * @model * @generated */ public interface ForeignKey extends KeyRelationship { /** * Returns the value of the '<em><b>Delete Rule</b></em>' attribute. * The literals are from the enumeration {@link orgomg.cwm.resource.relational.enumerations.ReferentialRuleType}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * An enumerated type. Indicates the disposition of the data records containing the foreign key value when the record of the matching primary key is deleted. * <!-- end-model-doc --> * @return the value of the '<em>Delete Rule</em>' attribute. * @see orgomg.cwm.resource.relational.enumerations.ReferentialRuleType * @see #setDeleteRule(ReferentialRuleType) * @see orgomg.cwm.resource.relational.RelationalPackage#getForeignKey_DeleteRule() * @model * @generated */ ReferentialRuleType getDeleteRule(); /** * Sets the value of the '{@link orgomg.cwm.resource.relational.ForeignKey#getDeleteRule <em>Delete Rule</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Delete Rule</em>' attribute. * @see orgomg.cwm.resource.relational.enumerations.ReferentialRuleType * @see #getDeleteRule() * @generated */ void setDeleteRule(ReferentialRuleType value); /** * Returns the value of the '<em><b>Update Rule</b></em>' attribute. * The literals are from the enumeration {@link orgomg.cwm.resource.relational.enumerations.ReferentialRuleType}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * Same as deleteRule for updates of the primary key data record * <!-- end-model-doc --> * @return the value of the '<em>Update Rule</em>' attribute. * @see orgomg.cwm.resource.relational.enumerations.ReferentialRuleType * @see #setUpdateRule(ReferentialRuleType) * @see orgomg.cwm.resource.relational.RelationalPackage#getForeignKey_UpdateRule() * @model * @generated */ ReferentialRuleType getUpdateRule(); /** * Sets the value of the '{@link orgomg.cwm.resource.relational.ForeignKey#getUpdateRule <em>Update Rule</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Update Rule</em>' attribute. * @see orgomg.cwm.resource.relational.enumerations.ReferentialRuleType * @see #getUpdateRule() * @generated */ void setUpdateRule(ReferentialRuleType value); /** * Returns the value of the '<em><b>Deferrability</b></em>' attribute. * The literals are from the enumeration {@link orgomg.cwm.resource.relational.enumerations.DeferrabilityType}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * Indicates if the validity of the ForeignKey is to be tested at each statement or at the end of a transaction. * <!-- end-model-doc --> * @return the value of the '<em>Deferrability</em>' attribute. * @see orgomg.cwm.resource.relational.enumerations.DeferrabilityType * @see #setDeferrability(DeferrabilityType) * @see orgomg.cwm.resource.relational.RelationalPackage#getForeignKey_Deferrability() * @model * @generated */ DeferrabilityType getDeferrability(); /** * Sets the value of the '{@link orgomg.cwm.resource.relational.ForeignKey#getDeferrability <em>Deferrability</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Deferrability</em>' attribute. * @see orgomg.cwm.resource.relational.enumerations.DeferrabilityType * @see #getDeferrability() * @generated */ void setDeferrability(DeferrabilityType value); } // ForeignKey