umbrello: UMLForeignKeyConstraint Class Reference

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

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

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) const
void | setReferencedEntity (UMLEntity *ent)
UMLEntity * | getReferencedEntity () const
void | saveToXMI (QXmlStreamWriter &writer)
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 ()
virtual void | copyInto (UMLObject *lhs) const
virtual UMLObject * | clone () const =0
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
virtual QString | toString (Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig, bool withStereotype=false) const
virtual void | copyInto (UMLObject *lhs) const
virtual UMLObject * | clone () const =0
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 | copyInto (UMLObject *lhs) const
virtual UMLObject * | clone () 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 () const
QStringList & | tags ()
QString | package (const QString &separator=QString(), bool includeRoot=false) const
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 | showPropertiesDialog (QWidget *parent=0)
virtual bool | resolveRef ()
virtual void | saveToXMI (QXmlStreamWriter &writer)
virtual bool | loadFromXMI (QDomElement &element)
bool | loadStereotype (QDomElement &element)
void | setStatic (bool bStatic)
bool | isStatic () const
virtual bool | acceptAssociationType (Uml::AssociationType::Enum) const
void | setSecondaryId (const QString &id)
QString | secondaryId () const
void | setSecondaryFallback (const QString &id)
QString | secondaryFallback () const
void | save1 (QXmlStreamWriter &writer, const QString &type, const QString &tag=QString())
bool | isUMLActor () const
bool | isUMLArtifact () const
bool | isUMLAssociation () const
bool | isUMLAttribute () const
bool | isUMLCategory () const
bool | isUMLCheckConstraint () const
bool | isUMLClassifier () const
bool | isUMLComponent () const
bool | isUMLDatatype () const
bool | isUMLEntity () const
bool | isUMLEntityAttribute () const
bool | isUMLEntityConstraint () const
bool | isUMLEnum () const
bool | isUMLEnumLiteral () const
bool | isUMLFolder () const
bool | isUMLForeignKeyConstraint () const
bool | isUMLInstance () const
bool | isUMLInstanceAttribute () const
bool | isUMLNode () const
bool | isUMLObject () const
bool | isUMLOperation () const
bool | isUMLPackage () const
bool | isUMLPort () const
bool | isUMLRole () const
bool | isUMLStereotype () const
bool | isUMLTemplate () const
bool | isUMLUniqueConstraint () const
bool | isUMLUseCase () const
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 ()
const UMLActor * | asUMLActor () const
const UMLArtifact * | asUMLArtifact () const
const UMLAssociation * | asUMLAssociation () const
const UMLAttribute * | asUMLAttribute () const
const UMLCanvasObject * | asUMLCanvasObject () const
const UMLCategory * | asUMLCategory () const
const UMLCheckConstraint * | asUMLCheckConstraint () const
const UMLClassifier * | asUMLClassifier () const
const UMLClassifierListItem * | asUMLClassifierListItem () const
const UMLClassifierSet * | asUMLClassifierSet () const
const UMLComponent * | asUMLComponent () const
const UMLDatatype * | asUMLDatatype () const
const UMLEntity * | asUMLEntity () const
const UMLEntityAttribute * | asUMLEntityAttribute () const
const UMLEntityConstraint * | asUMLEntityConstraint () const
const UMLEnum * | asUMLEnum () const
const UMLEnumLiteral * | asUMLEnumLiteral () const
const UMLFolder * | asUMLFolder () const
const UMLForeignKeyConstraint * | asUMLForeignKeyConstraint () const
const UMLInstance * | asUMLInstance () const
const UMLInstanceAttribute * | asUMLInstanceAttribute () const
const UMLNode * | asUMLNode () const
const UMLObject * | asUMLObject () const
const UMLOperation * | asUMLOperation () const
const UMLPackage * | asUMLPackage () const
const UMLPort * | asUMLPort () const
const UMLRole * | asUMLRole () const
const UMLStereotype * | asUMLStereotype () const
const UMLTemplate * | asUMLTemplate () const
const UMLUniqueConstraint * | asUMLUniqueConstraint () const
const UMLUseCase * | asUMLUseCase () const

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

## Private Slots
void | slotReferencedEntityChanged ()

## Private Member Functions
void | init ()

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

## 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
QString | m_Doc
| object's documentation
QPointer< UMLStereotype > | m_pStereotype
| stereotype of the object if applicable
QString | m_name
| objects name
ObjectType | m_BaseType
| objects type
Uml::Visibility::Enum | m_visibility
| objects visibility
bool | m_bAbstract
| state of whether the object is abstract or not
bool | m_bStatic
| flag for instance scope
bool | m_bCreationWasSignalled
| auxiliary to maybeSignalObjectCreated()
QPointer< UMLObject > | m_pSecondary
QString | m_SecondaryId
QString | m_SecondaryFallback
QStringList | m_TaggedValues
UMLObjectPrivate * | m_d
| private data

## 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.

## ◆ saveToXMI()

void UMLForeignKeyConstraint::saveToXMI | ( | QXmlStreamWriter & | writer | ) |
| 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`
| ) |  | const
| 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/umlmodel/foreignkeyconstraint.h
- umbrello/umlmodel/foreignkeyconstraint.cpp