umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
foreignkeyconstraint.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2002-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef FOREIGNKEYCONSTRAINT_H
7#define FOREIGNKEYCONSTRAINT_H
8
9// appl includes
10#include "basictypes.h"
11#include "entityconstraint.h"
12
13// qt includes
14#include <QMap>
15
16//forward declarations
18class UMLEntity;
19
28{
29 Q_OBJECT
30
31public:
32
42
43 UMLForeignKeyConstraint(UMLObject *parent, const QString& name,
45 explicit UMLForeignKeyConstraint(UMLObject *parent);
46
47 bool operator==(const UMLForeignKeyConstraint &rhs) const;
48
50
51 virtual void copyInto(UMLObject *lhs) const;
52
53 virtual UMLObject* clone() const;
54
56 bool withStereotype=false) const;
57
60
61 void saveToXMI(QXmlStreamWriter& writer);
62
63 virtual bool showPropertiesDialog(QWidget* parent = 0);
64
66
68
70
71 QMap<UMLEntityAttribute*, UMLEntityAttribute*> getEntityAttributePairs();
72
75
78
79 void clearMappings();
80
81 bool resolveRef();
82
83signals:
85
86private slots:
88
89protected:
90 bool load1(QDomElement & element);
91
92private:
93
95
101 QMap<UMLEntityAttribute*, Uml::ID::Type> m_pEntityAttributeIDMap;
102
103 void init();
104
106
110 QMap<UMLEntityAttribute*, UMLEntityAttribute*> m_AttributeMap;
111
114};
115
116#endif
Sets up entityattribute information.
Definition: entityattribute.h:21
Sets up entity constraint information.
Definition: entityconstraint.h:22
Non-graphical Information for an Entity.
Definition: entity.h:30
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:28
void init()
Definition: foreignkeyconstraint.cpp:47
void setDeleteAction(UpdateDeleteAction uda)
Definition: foreignkeyconstraint.cpp:432
void clearMappings()
Definition: foreignkeyconstraint.cpp:366
UMLEntity * getReferencedEntity() const
Definition: foreignkeyconstraint.cpp:349
QMap< UMLEntityAttribute *, UMLEntityAttribute * > getEntityAttributePairs()
Definition: foreignkeyconstraint.cpp:408
void sigReferencedEntityChanged()
Definition: moc_foreignkeyconstraint.cpp:139
QMap< UMLEntityAttribute *, UMLEntityAttribute * > m_AttributeMap
Definition: foreignkeyconstraint.h:110
virtual ~UMLForeignKeyConstraint()
Definition: foreignkeyconstraint.cpp:80
void setReferencedEntity(UMLEntity *ent)
Definition: foreignkeyconstraint.cpp:335
Uml::ID::Type m_pReferencedEntityID
Used to resolve forward references to UMLEntity.
Definition: foreignkeyconstraint.h:94
void slotReferencedEntityChanged()
Definition: foreignkeyconstraint.cpp:357
virtual void copyInto(UMLObject *lhs) const
Definition: foreignkeyconstraint.cpp:88
QString toString(Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig, bool withStereotype=false) const
Definition: foreignkeyconstraint.cpp:118
UpdateDeleteAction getUpdateAction() const
Definition: foreignkeyconstraint.cpp:424
void saveToXMI(QXmlStreamWriter &writer)
Definition: foreignkeyconstraint.cpp:143
UMLForeignKeyConstraint(UMLObject *parent, const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: foreignkeyconstraint.cpp:27
bool hasEntityAttributePair(UMLEntityAttribute *pAttr, UMLEntityAttribute *rAttr) const
Definition: foreignkeyconstraint.cpp:254
bool addEntityAttributePair(UMLEntityAttribute *pAttr, UMLEntityAttribute *rAttr)
Definition: foreignkeyconstraint.cpp:181
virtual UMLObject * clone() const
Definition: foreignkeyconstraint.cpp:105
virtual bool showPropertiesDialog(QWidget *parent=0)
Definition: foreignkeyconstraint.cpp:169
bool load1(QDomElement &element)
Definition: foreignkeyconstraint.cpp:268
UpdateDeleteAction m_UpdateAction
What to do on Update of referenced attributes.
Definition: foreignkeyconstraint.h:112
bool resolveRef()
Definition: foreignkeyconstraint.cpp:375
UpdateDeleteAction
Definition: foreignkeyconstraint.h:37
@ uda_NoAction
Definition: foreignkeyconstraint.h:37
@ uda_Cascade
Definition: foreignkeyconstraint.h:39
@ uda_Restrict
Definition: foreignkeyconstraint.h:38
@ uda_SetDefault
Definition: foreignkeyconstraint.h:41
@ uda_SetNull
Definition: foreignkeyconstraint.h:40
UpdateDeleteAction getDeleteAction() const
Definition: foreignkeyconstraint.cpp:416
UMLEntity * m_ReferencedEntity
The UMLEntity that this foreign key references.
Definition: foreignkeyconstraint.h:105
bool operator==(const UMLForeignKeyConstraint &rhs) const
Definition: foreignkeyconstraint.cpp:66
QMap< UMLEntityAttribute *, Uml::ID::Type > m_pEntityAttributeIDMap
Definition: foreignkeyconstraint.h:101
UpdateDeleteAction m_DeleteAction
What to do on Deletion of referenced attributes.
Definition: foreignkeyconstraint.h:113
void setUpdateAction(UpdateDeleteAction uda)
Definition: foreignkeyconstraint.cpp:440
bool removeEntityAttributePair(UMLEntityAttribute *pAttr)
Definition: foreignkeyconstraint.cpp:241
The base class for UML objects.
Definition: umlobject.h:70
QString name() const
Definition: umlobject.cpp:207
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
std::string Type
Definition: basictypes.h:371
Enum
Definition: basictypes.h:160
@ NoSig
Definition: basictypes.h:161