umbrello: UMLForeignKeyConstraint Class Reference

umbrello 2.31.0 Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology

Public Types | Signals | Public Member Functions | Protected Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
UMLForeignKeyConstraint Class Reference

Sets up Foreign Key entity constraint information. More...

`#include <foreignkeyconstraint.h>`

Inheritance diagram for UMLForeignKeyConstraint:

## Public Types
enum | UpdateDeleteAction { uda_NoAction = 0, uda_Restrict, uda_Cascade, uda_SetNull, uda_SetDefault }
Public Types inherited from UMLObject
enum | ObjectType { ot_Unknown = -1, ot_UMLObject = 100, ot_Actor, ot_UseCase, ot_Package, ot_Interface, ot_Datatype, ot_Enum, ot_Class, ot_Instance, ot_Association, ot_Attribute, ot_Operation, ot_EnumLiteral, ot_Template, ot_Component, ot_Artifact, ot_Node, ot_Stereotype, ot_Role, ot_Entity, ot_EntityAttribute, ot_Folder, ot_EntityConstraint, ot_UniqueConstraint, ot_ForeignKeyConstraint, ot_CheckConstraint, ot_Category, ot_Port, ot_InstanceAttribute, ot_SubSystem }

## Signals
void | sigReferencedEntityChanged ()
Signals inherited from UMLObject
void | modified ()

## Public Member Functions
| UMLForeignKeyConstraint (UMLObject *parent, const QString &name, Uml::ID::Type id=Uml::ID::None)
| UMLForeignKeyConstraint (UMLObject *parent)
bool | operator== (const UMLForeignKeyConstraint &rhs) const
virtual | ~UMLForeignKeyConstraint ()
virtual void | copyInto (UMLObject *lhs) const
virtual UMLObject * | clone () const
QString | toString (Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig, bool withStereotype=false)
void | setReferencedEntity (UMLEntity *ent)
UMLEntity * | getReferencedEntity () const
void | saveToXMI1 (QDomDocument &qDoc, QDomElement &qElement)
virtual bool | showPropertiesDialog (QWidget *parent=0)
bool | addEntityAttributePair (UMLEntityAttribute *pAttr, UMLEntityAttribute *rAttr)
bool | removeEntityAttributePair (UMLEntityAttribute *pAttr)
bool | hasEntityAttributePair (UMLEntityAttribute *pAttr, UMLEntityAttribute *rAttr) const
QMap< UMLEntityAttribute *, UMLEntityAttribute * > | getEntityAttributePairs ()
void | setDeleteAction (UpdateDeleteAction uda)
UpdateDeleteAction | getDeleteAction () const
void | setUpdateAction (UpdateDeleteAction uda)
UpdateDeleteAction | getUpdateAction () const
void | clearMappings ()
bool | resolveRef ()
Public Member Functions inherited from UMLEntityConstraint
| UMLEntityConstraint (UMLObject *parent, const QString &name, Uml::ID::Type id=Uml::ID::None)
| UMLEntityConstraint (UMLObject *parent)
bool | operator== (const UMLEntityConstraint &rhs) const
virtual | ~UMLEntityConstraint ()
Public Member Functions inherited from UMLClassifierListItem
| UMLClassifierListItem (UMLObject *parent, const QString &name, Uml::ID::Type id=Uml::ID::None)
| UMLClassifierListItem (UMLObject *parent)
virtual | ~UMLClassifierListItem ()
virtual void | setType (UMLObject *type)
UMLClassifier * | getType () const
void | setTypeName (const QString &type)
virtual QString | getTypeName () const
Public Member Functions inherited from UMLObject
| UMLObject (const UMLObject &other)
| UMLObject (UMLObject *parent, const QString &name, Uml::ID::Type id=Uml::ID::None)
| UMLObject (UMLObject *parent)
| UMLObject (const QString &name=QString(), Uml::ID::Type id=Uml::ID::None)
virtual | ~UMLObject ()
bool | operator== (const UMLObject &rhs) const
virtual void | setBaseType (ObjectType ot)
ObjectType | baseType () const
QLatin1String | baseTypeStr () const
virtual void | setID (Uml::ID::Type NewID)
virtual Uml::ID::Type | id () const
QString | doc () const
bool | hasDoc () const
void | setDoc (const QString &d)
void | setVisibility (Uml::Visibility::Enum visibility)
void | setVisibilityCmd (Uml::Visibility::Enum visibility)
Uml::Visibility::Enum | visibility () const
void | setStereotype (const QString &_name)
void | setStereotypeCmd (const QString &_name)
QString | stereotype (bool includeAdornments=false) const
void | setUMLStereotype (UMLStereotype *stereo)
UMLStereotype * | umlStereotype ()
QString | package (const QString &separator=QString(), bool includeRoot=false)
UMLPackageList | packages (bool includeRoot=false) const
bool | setUMLPackage (UMLPackage *pPkg)
UMLPackage * | umlPackage () const
void | setUMLParent (UMLObject *parent)
UMLObject * | umlParent () const
virtual void | setName (const QString &strName)
virtual void | setNameCmd (const QString &strName)
QString | name () const
virtual QString | fullyQualifiedName (const QString &separator=QString(), bool includeRoot=false) const
void | setAbstract (bool bAbstract)
bool | isAbstract () const
virtual bool | loadFromXMI1 (QDomElement &element)
bool | loadStereotype (QDomElement &element)
void | setStatic (bool bStatic)
bool | isStatic () const
virtual bool | acceptAssociationType (Uml::AssociationType::Enum)
void | setSecondaryId (const QString &id)
QString | secondaryId () const
void | setSecondaryFallback (const QString &id)
QString | secondaryFallback () const
QDomElement | save1 (const QString &tag, QDomDocument &qDoc)
bool | isUMLActor ()
bool | isUMLArtifact ()
bool | isUMLAssociation ()
bool | isUMLAttribute ()
bool | isUMLCategory ()
bool | isUMLCheckConstraint ()
bool | isUMLClassifier ()
bool | isUMLComponent ()
bool | isUMLDatatype ()
bool | isUMLEntity ()
bool | isUMLEntityAttribute ()
bool | isUMLEntityConstraint ()
bool | isUMLEnum ()
bool | isUMLEnumLiteral ()
bool | isUMLFolder ()
bool | isUMLForeignKeyConstraint ()
bool | isUMLInstance ()
bool | isUMLInstanceAttribute ()
bool | isUMLNode ()
bool | isUMLObject ()
bool | isUMLOperation ()
bool | isUMLPackage ()
bool | isUMLPort ()
bool | isUMLRole ()
bool | isUMLStereotype ()
bool | isUMLTemplate ()
bool | isUMLUniqueConstraint ()
bool | isUMLUseCase ()
UMLActor * | asUMLActor ()
UMLArtifact * | asUMLArtifact ()
UMLAssociation * | asUMLAssociation ()
UMLAttribute * | asUMLAttribute ()
UMLCanvasObject * | asUMLCanvasObject ()
UMLCategory * | asUMLCategory ()
UMLCheckConstraint * | asUMLCheckConstraint ()
UMLClassifier * | asUMLClassifier ()
UMLClassifierListItem * | asUMLClassifierListItem ()
UMLClassifierSet * | asUMLClassifierSet ()
UMLComponent * | asUMLComponent ()
UMLDatatype * | asUMLDatatype ()
UMLEntity * | asUMLEntity ()
UMLEntityAttribute * | asUMLEntityAttribute ()
UMLEntityConstraint * | asUMLEntityConstraint ()
UMLEnum * | asUMLEnum ()
UMLEnumLiteral * | asUMLEnumLiteral ()
UMLFolder * | asUMLFolder ()
UMLForeignKeyConstraint * | asUMLForeignKeyConstraint ()
UMLInstance * | asUMLInstance ()
UMLInstanceAttribute * | asUMLInstanceAttribute ()
UMLNode * | asUMLNode ()
UMLObject * | asUMLObject ()
UMLOperation * | asUMLOperation ()
UMLPackage * | asUMLPackage ()
UMLPort * | asUMLPort ()
UMLRole * | asUMLRole ()
UMLStereotype * | asUMLStereotype ()
UMLTemplate * | asUMLTemplate ()
UMLUniqueConstraint * | asUMLUniqueConstraint ()
UMLUseCase * | asUMLUseCase ()

## Protected Member Functions
bool | load1 (QDomElement &element)
Protected Member Functions inherited from UMLObject
void | init ()
void | maybeSignalObjectCreated ()

## Private Slots
void | slotReferencedEntityChanged ()

## Private Member Functions
void | init ()

## Private Attributes
Uml::ID::Type | m_pReferencedEntityID
| Used to resolve forward references to UMLEntity. More...
QMap< UMLEntityAttribute *, Uml::ID::Type > | m_pEntityAttributeIDMap
UMLEntity * | m_ReferencedEntity
| The UMLEntity that this foreign key references. More...
QMap< UMLEntityAttribute *, UMLEntityAttribute * > | m_AttributeMap
UpdateDeleteAction | m_UpdateAction
| What to do on Update of referenced attributes. More...
UpdateDeleteAction | m_DeleteAction
| What to do on Deletion of referenced attributes. More...

## Additional Inherited Members
Public Slots inherited from UMLObject
void | emitModified ()
Static Public Member Functions inherited from UMLObject
static QString | toString (ObjectType ot)
static QString | toI18nString (ObjectType t)
static Icon_Utils::IconType | toIcon (ObjectType t)
Protected Attributes inherited from UMLObject
Uml::ID::Type | m_nId
| object's id More...
QString | m_Doc
| object's documentation More...
QPointer< UMLStereotype > | m_pStereotype
| stereotype of the object if applicable More...
QString | m_name
| objects name More...
ObjectType | m_BaseType
| objects type More...
Uml::Visibility::Enum | m_visibility
| objects visibility More...
bool | m_bAbstract
| state of whether the object is abstract or not More...
bool | m_bStatic
| flag for instance scope More...
bool | m_bInPaste
| caller sets this true when in paste operation More...
bool | m_bCreationWasSignalled
| auxiliary to maybeSignalObjectCreated() More...
QPointer< UMLObject > | m_pSecondary
QString | m_SecondaryId
QString | m_SecondaryFallback
UMLObjectPrivate * | m_d
| private data More...

## Detailed Description

Sets up Foreign Key entity constraint information.

This class is used to set up information for a foreign key entity constraint.

Author
  Sharan Rao

See also
  UMLObject UMLClassifierListItem UMLEntityConstraint Bugs and comments to umbre.nosp@m.llo-.nosp@m.devel.nosp@m.@kde.nosp@m..org or https://bugs.kde.org

## Member Enumeration Documentation

## ◆ UpdateDeleteAction

enum UMLForeignKeyConstraint::UpdateDeleteAction

Update/Delete Action: Action to be taken on Update or Delete of a referenced attribute is either, No Action, Restrict, Cascade, Set NULL, Set Default.

Enumerator
uda_NoAction |
uda_Restrict |
uda_Cascade |
uda_SetNull |
uda_SetDefault |

## Constructor & Destructor Documentation

## ◆ UMLForeignKeyConstraint() [1/2]

UMLForeignKeyConstraint::UMLForeignKeyConstraint | ( | UMLObject * | parent,
|  | const QString & | name,
|  | Uml::ID::Type | id = `Uml::ID::None`
| ) |  |

Sets up a constraint.

Parameters

  parent | The parent of this UMLForeignKeyConstraint.
  name | The name of this UMLForeignKeyConstraint.
  id | The unique id given to this UMLForeignKeyConstraint.

## ◆ UMLForeignKeyConstraint() [2/2]

UMLForeignKeyConstraint::UMLForeignKeyConstraint | ( | UMLObject * | parent | ) |
| explicit

Sets up a constraint.

Parameters

  parent | The parent of this UMLForeignKeyConstraint.

## ◆ ~UMLForeignKeyConstraint()

UMLForeignKeyConstraint::~UMLForeignKeyConstraint | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

## ◆ addEntityAttributePair()

bool UMLForeignKeyConstraint::addEntityAttributePair | ( | UMLEntityAttribute * | pAttr,
|  | UMLEntityAttribute * | rAttr
| ) |  |

Adds the attribute pair to the attributeMap

Parameters

  pAttr | The Attribute of the Parent Entity
  rAttr | The Attribute of the Referenced Entity

Returns
  true if the attribute pair could be added successfully

## ◆ clearMappings()

void UMLForeignKeyConstraint::clearMappings | ( |  | ) |

Clears all mappings between local and referenced attributes

## ◆ clone()

UMLObject * UMLForeignKeyConstraint::clone | ( |  | ) | const
| virtual

Make a clone of the UMLForeignKeyConstraint.

Implements UMLEntityConstraint.

## ◆ copyInto()

void UMLForeignKeyConstraint::copyInto | ( | UMLObject * | lhs | ) | const
| virtual

Copy the internal presentation of this object into the UMLForeignKeyConstraint object.

Reimplemented from UMLEntityConstraint.

## ◆ getDeleteAction()

UMLForeignKeyConstraint::UpdateDeleteAction UMLForeignKeyConstraint::getDeleteAction | ( |  | ) | const

Get the Delete Action.

## ◆ getEntityAttributePairs()

QMap< UMLEntityAttribute *, UMLEntityAttribute * > UMLForeignKeyConstraint::getEntityAttributePairs | ( |  | ) |

Retrieve all Pairs of Attributes.

## ◆ getReferencedEntity()

UMLEntity * UMLForeignKeyConstraint::getReferencedEntity | ( |  | ) | const

Get the Referenced Entity.

Returns
  the UML entity object

## ◆ getUpdateAction()

UMLForeignKeyConstraint::UpdateDeleteAction UMLForeignKeyConstraint::getUpdateAction | ( |  | ) | const

Get the Update Action.

## ◆ hasEntityAttributePair()

bool UMLForeignKeyConstraint::hasEntityAttributePair | ( | UMLEntityAttribute * | pAttr,
|  | UMLEntityAttribute * | rAttr
| ) |  | const

Check if an attribute pair already exists

Parameters

  pAttr | The Attribute of the Parent Entity
  rAttr | The Attribute of the Referenced Entity

Returns
  true if the attribute pair could be found.

## ◆ init()

void UMLForeignKeyConstraint::init | ( |  | ) |
| private

Initialisation of common variables

## ◆ load1()

bool UMLForeignKeyConstraint::load1 | ( | QDomElement & | element | ) |
| protectedvirtual

Loads the <UML:ForeignKeyConstraint> XMI element.

Reimplemented from UMLObject.

## ◆ operator==()

bool UMLForeignKeyConstraint::operator== | ( | const UMLForeignKeyConstraint & | rhs | ) | const

Overloaded '==' operator

## ◆ removeEntityAttributePair()

bool UMLForeignKeyConstraint::removeEntityAttributePair | ( | UMLEntityAttribute * | pAttr | ) |

Removes an Attribute pair

Parameters

  pAttr | The Attribute of the Parent Entity in the map. This attribute is the key of the map.

Returns
  true of the attribute pair could be removed successfully

## ◆ resolveRef()

bool UMLForeignKeyConstraint::resolveRef | ( |  | ) |
| virtual

Remimplementation from base classes Used to resolve forward references to referenced entities in xmi

Reimplemented from UMLObject.

## ◆ saveToXMI1()

void UMLForeignKeyConstraint::saveToXMI1 | ( | QDomDocument & | qDoc,
|  | QDomElement & | qElement
| ) |  |
| virtual

Creates the <UML:ForeignKeyConstraint> XMI element.

Reimplemented from UMLObject.

## ◆ setDeleteAction()

void UMLForeignKeyConstraint::setDeleteAction | ( | UpdateDeleteAction | uda | ) |

Set the Delete Action to the specified UpdateDeleteAction.

## ◆ setReferencedEntity()

void UMLForeignKeyConstraint::setReferencedEntity | ( | UMLEntity * | ent | ) |

Set the Referenced Entity.

Parameters

  ent | The Entity to Reference

## ◆ setUpdateAction()

void UMLForeignKeyConstraint::setUpdateAction | ( | UpdateDeleteAction | uda | ) |

Set the Update Action to the specified UpdateDeleteAction

## ◆ showPropertiesDialog()

bool UMLForeignKeyConstraint::showPropertiesDialog | ( | QWidget * | parent = `0` | ) |
| virtual

Display the properties configuration dialog for the attribute.

Reimplemented from UMLObject.

## ◆ sigReferencedEntityChanged

void UMLForeignKeyConstraint::sigReferencedEntityChanged | ( |  | ) |
| signal

## ◆ slotReferencedEntityChanged

void UMLForeignKeyConstraint::slotReferencedEntityChanged | ( |  | ) |
| privateslot

Slot for referenced entity changed.

## ◆ toString()

QString UMLForeignKeyConstraint::toString | ( | Uml::SignatureType::Enum | sig = `Uml::SignatureType::NoSig`,
|  | bool | withStereotype = `false`
| ) |  |
| virtual

Returns a string representation of the UMLForeignKeyConstraint.

Parameters

  sig | If true will show the attribute type and initial value.

Returns
  Returns a string representation of the UMLAttribute.

Reimplemented from UMLClassifierListItem.

## Member Data Documentation

## ◆ m_AttributeMap

QMap<UMLEntityAttribute*, UMLEntityAttribute*> UMLForeignKeyConstraint::m_AttributeMap
| private

Stores the Mapping of attributes between parent table and referenced table

## ◆ m_DeleteAction

UpdateDeleteAction UMLForeignKeyConstraint::m_DeleteAction
| private

What to do on Deletion of referenced attributes.

## ◆ m_pEntityAttributeIDMap

QMap<UMLEntityAttribute*, Uml::ID::Type> UMLForeignKeyConstraint::m_pEntityAttributeIDMap
| private

Used to resolve forward references to UMLEntityAttributes Key -> The local attribute Value -> Id of the attribute it is mapping to

## ◆ m_pReferencedEntityID

Uml::ID::Type UMLForeignKeyConstraint::m_pReferencedEntityID
| private

Used to resolve forward references to UMLEntity.

## ◆ m_ReferencedEntity

UMLEntity* UMLForeignKeyConstraint::m_ReferencedEntity
| private

The UMLEntity that this foreign key references.

## ◆ m_UpdateAction

UpdateDeleteAction UMLForeignKeyConstraint::m_UpdateAction
| private

What to do on Update of referenced attributes.

The documentation for this class was generated from the following files:

- umbrello/uml1model/foreignkeyconstraint.h
- umbrello/uml1model/foreignkeyconstraint.cpp