umbrello 25.07.80
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
UMLForeignKeyConstraint Class Reference

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

#include <foreignkeyconstraint.h>

Inheritance diagram for UMLForeignKeyConstraint:
Collaboration 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 UMLObjectclone () const
QString toString (Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig, bool withStereotype=false) const
void setReferencedEntity (UMLEntity *ent)
UMLEntitygetReferencedEntity () const
void saveToXMI (QXmlStreamWriter &writer)
virtual bool showPropertiesDialog (QWidget *parent=nullptr)
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)
UMLClassifiergetType () 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)
UMLStereotypeumlStereotype () const
QStringList & tags ()
QString package (const QString &separator=QString(), bool includeRoot=false) const
UMLPackageList packages (bool includeRoot=false) const
bool setUMLPackage (UMLPackage *pPkg)
UMLPackageumlPackage () const
void setUMLParent (UMLObject *parent)
UMLObjectumlParent () 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 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
UMLActorasUMLActor ()
UMLArtifactasUMLArtifact ()
UMLAssociationasUMLAssociation ()
UMLAttributeasUMLAttribute ()
UMLCanvasObjectasUMLCanvasObject ()
UMLCategoryasUMLCategory ()
UMLCheckConstraintasUMLCheckConstraint ()
UMLClassifierasUMLClassifier ()
UMLClassifierListItemasUMLClassifierListItem ()
UMLClassifierSetasUMLClassifierSet ()
UMLComponentasUMLComponent ()
UMLDatatypeasUMLDatatype ()
UMLEntityasUMLEntity ()
UMLEntityAttributeasUMLEntityAttribute ()
UMLEntityConstraintasUMLEntityConstraint ()
UMLEnumasUMLEnum ()
UMLEnumLiteralasUMLEnumLiteral ()
UMLFolderasUMLFolder ()
UMLForeignKeyConstraintasUMLForeignKeyConstraint ()
UMLInstanceasUMLInstance ()
UMLInstanceAttributeasUMLInstanceAttribute ()
UMLNodeasUMLNode ()
UMLObjectasUMLObject ()
UMLOperationasUMLOperation ()
UMLPackageasUMLPackage ()
UMLPortasUMLPort ()
UMLRoleasUMLRole ()
UMLStereotypeasUMLStereotype ()
UMLTemplateasUMLTemplate ()
UMLUniqueConstraintasUMLUniqueConstraint ()
UMLUseCaseasUMLUseCase ()
const UMLActorasUMLActor () const
const UMLArtifactasUMLArtifact () const
const UMLAssociationasUMLAssociation () const
const UMLAttributeasUMLAttribute () const
const UMLCanvasObjectasUMLCanvasObject () const
const UMLCategoryasUMLCategory () const
const UMLCheckConstraintasUMLCheckConstraint () const
const UMLClassifierasUMLClassifier () const
const UMLClassifierListItemasUMLClassifierListItem () const
const UMLClassifierSetasUMLClassifierSet () const
const UMLComponentasUMLComponent () const
const UMLDatatypeasUMLDatatype () const
const UMLEntityasUMLEntity () const
const UMLEntityAttributeasUMLEntityAttribute () const
const UMLEntityConstraintasUMLEntityConstraint () const
const UMLEnumasUMLEnum () const
const UMLEnumLiteralasUMLEnumLiteral () const
const UMLFolderasUMLFolder () const
const UMLForeignKeyConstraintasUMLForeignKeyConstraint () const
const UMLInstanceasUMLInstance () const
const UMLInstanceAttributeasUMLInstanceAttribute () const
const UMLNodeasUMLNode () const
const UMLObjectasUMLObject () const
const UMLOperationasUMLOperation () const
const UMLPackageasUMLPackage () const
const UMLPortasUMLPort () const
const UMLRoleasUMLRole () const
const UMLStereotypeasUMLStereotype () const
const UMLTemplateasUMLTemplate () const
const UMLUniqueConstraintasUMLUniqueConstraint () const
const UMLUseCaseasUMLUseCase () const

Protected Member Functions

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

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::Typem_pEntityAttributeIDMap
UMLEntitym_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< UMLStereotypem_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< UMLObjectm_pSecondary
QString m_SecondaryId
QString m_SecondaryFallback
QStringList m_TaggedValues
UMLObjectPrivatem_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

Update/Delete Action: Action to be taken on Update or Delete of a referenced attribute is either, No Action, Restrict, Cascade, Set nullptr, 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
parentThe parent of this UMLForeignKeyConstraint.
nameThe name of this UMLForeignKeyConstraint.
idThe unique id given to this UMLForeignKeyConstraint.
Here is the call graph for this function:

◆ UMLForeignKeyConstraint() [2/2]

UMLForeignKeyConstraint::UMLForeignKeyConstraint ( UMLObject * parent)
explicit

Sets up a constraint.

Parameters
parentThe parent of this UMLForeignKeyConstraint.
Here is the call graph for this function:

◆ ~UMLForeignKeyConstraint()

UMLForeignKeyConstraint::~UMLForeignKeyConstraint ( )
virtual

Destructor.

Member Function Documentation

◆ addEntityAttributePair()

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

Adds the attribute pair to the attributeMap

Parameters
pAttrThe Attribute of the Parent Entity
rAttrThe Attribute of the Referenced Entity
Returns
true if the attribute pair could be added successfully
Here is the call graph for this function:

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

Here is the call graph for this function:

◆ copyInto()

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

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

Reimplemented from UMLEntityConstraint.

Here is the call graph for this function:

◆ 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
pAttrThe Attribute of the Parent Entity
rAttrThe Attribute of the Referenced Entity
Returns
true if the attribute pair could be found.

◆ init()

void UMLForeignKeyConstraint::init ( )
private

Initialisation of common variables

Here is the call graph for this function:

◆ load1()

bool UMLForeignKeyConstraint::load1 ( QDomElement & element)
protectedvirtual

Loads the <UML:ForeignKeyConstraint> XMI element.

Reimplemented from UMLObject.

Here is the call graph for this function:

◆ operator==()

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

Overloaded '==' operator

Here is the call graph for this function:

◆ removeEntityAttributePair()

bool UMLForeignKeyConstraint::removeEntityAttributePair ( UMLEntityAttribute * pAttr)

Removes an Attribute pair

Parameters
pAttrThe 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.

Here is the call graph for this function:

◆ saveToXMI()

void UMLForeignKeyConstraint::saveToXMI ( QXmlStreamWriter & writer)
virtual

Creates the <UML:ForeignKeyConstraint> XMI element.

Reimplemented from UMLObject.

Here is the call graph for this function:

◆ 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
entThe Entity to Reference
Here is the call graph for this function:

◆ setUpdateAction()

void UMLForeignKeyConstraint::setUpdateAction ( UpdateDeleteAction uda)

Set the Update Action to the specified UpdateDeleteAction

◆ showPropertiesDialog()

bool UMLForeignKeyConstraint::showPropertiesDialog ( QWidget * parent = nullptr)
virtual

Display the properties configuration dialog for the attribute.

Reimplemented from UMLObject.

Here is the call graph for this function:

◆ 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
sigIf true will show the attribute type and initial value.
Returns
Returns a string representation of the UMLAttribute.

Reimplemented from UMLClassifierListItem.

Here is the call graph for this function:

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: