## org.eclipse.datatools.modelbase.sql.constraints
Interface UniqueConstraint

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 Subinterfaces:
  PrimaryKey, SybaseASABasePrimaryKey, SybaseASABaseUniqueConstraint, SybaseASEPrimaryKey, SybaseASEUniqueConstraint

All Known Implementing Classes:
  JDBCPrimaryKey, JDBCUniqueConstraint, MySqlCatalogPrimaryKey, org.eclipse.datatools.modelbase.sql.constraints.impl.PrimaryKeyImpl, SybaseASABasePrimaryKeyImpl, SybaseASABaseUniqueConstraintImpl, SybaseASACatalogBasePrimaryKey, SybaseASACatalogBaseUniqueConstraint, SybaseASECatalogPrimaryKey, SybaseASECatalogUniqueConstraint, SybaseASEPrimaryKeyImpl, SybaseASEUniqueConstraintImpl, org.eclipse.datatools.modelbase.sql.constraints.impl.UniqueConstraintImpl

    public interface UniqueConstraint

extends ReferenceConstraint

A representation of the model object 'Unique Constraint'. Reference: 5WD-02-Foundation-2002-12 4.17.2 Table constraints, 5WD-02-Foundation-2002-12 11.7 <unique contraint definition>

The following features are supported:

- `Clustered`
- `Foreign Key`

See Also:
  `SQLConstraintsPackage.getUniqueConstraint()`

Method Summary
`org.eclipse.emf.common.util.EList` `getForeignKey()` Returns the value of the 'Foreign Key' reference list.
`boolean` `isClustered()` Returns the value of the 'Clustered' attribute.
`void` `setClustered(boolean value)` Sets the value of the '`Clustered`' attribute.

Methods inherited from interface org.eclipse.datatools.modelbase.sql.constraints.ReferenceConstraint
`getMembers`

Methods inherited from interface org.eclipse.datatools.modelbase.sql.constraints.TableConstraint
`getBaseTable, setBaseTable`

Methods inherited from interface org.eclipse.datatools.modelbase.sql.constraints.Constraint
`isDeferrable, isEnforced, isInitiallyDeferred, setDeferrable, setEnforced, setInitiallyDeferred`

Methods inherited from interface org.eclipse.datatools.modelbase.sql.schema.SQLObject
`addEAnnotation, addEAnnotationDetail, getComments, getDependencies, getDescription, getEAnnotation, getEAnnotationDetail, getExtensions, getLabel, getPrivileges, 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, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Method Detail

### isClustered

    boolean isClustered()

  Returns the value of the 'Clustered' attribute. The default value is `"true"`.

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

  Returns:
    the value of the 'Clustered' attribute.
  See Also:
    `setClustered(boolean)`, `SQLConstraintsPackage.getUniqueConstraint_Clustered()`

### setClustered

    void setClustered(boolean value)

  Sets the value of the '`Clustered`' attribute.

  Parameters:
    `value` - the new value of the 'Clustered' attribute.
  See Also:
    `isClustered()`

### getForeignKey

    org.eclipse.emf.common.util.EList getForeignKey()

  Returns the value of the 'Foreign Key' reference list. The list contents are of type `ForeignKey`. It is bidirectional and its opposite is '`Unique Constraint`'.

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

  Returns:
    the value of the 'Foreign Key' reference list.
  See Also:
    `SQLConstraintsPackage.getUniqueConstraint_ForeignKey()`, `ForeignKey.getUniqueConstraint()`