umbrello  2.38.5
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
17 class UMLEntityAttribute;
18 class UMLEntity;
19 
28 {
29  Q_OBJECT
30 
31 public:
32 
42 
43  UMLForeignKeyConstraint(UMLObject *parent, const QString& name,
45  explicit UMLForeignKeyConstraint(UMLObject *parent);
46 
47  bool operator==(const UMLForeignKeyConstraint &rhs) const;
48 
49  virtual ~UMLForeignKeyConstraint();
50 
51  virtual void copyInto(UMLObject *lhs) const;
52 
53  virtual UMLObject* clone() const;
54 
56  bool withStereotype=false) const;
57 
58  void setReferencedEntity(UMLEntity* ent);
60 
61  void saveToXMI(QXmlStreamWriter& writer);
62 
63  virtual bool showPropertiesDialog(QWidget* parent = 0);
64 
66 
67  bool removeEntityAttributePair(UMLEntityAttribute* /*key*/ pAttr);
68 
70 
71  QMap<UMLEntityAttribute*, UMLEntityAttribute*> getEntityAttributePairs();
72 
75 
78 
79  void clearMappings();
80 
81  bool resolveRef();
82 
83 signals:
85 
86 private slots:
88 
89 protected:
90  bool load1(QDomElement & element);
91 
92 private:
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
UMLEntity * m_ReferencedEntity
The UMLEntity that this foreign key references.
Definition: foreignkeyconstraint.h:105
Definition: foreignkeyconstraint.h:38
void setUpdateAction(UpdateDeleteAction uda)
Definition: foreignkeyconstraint.cpp:440
bool hasEntityAttributePair(UMLEntityAttribute *pAttr, UMLEntityAttribute *rAttr) const
Definition: foreignkeyconstraint.cpp:254
void setDeleteAction(UpdateDeleteAction uda)
Definition: foreignkeyconstraint.cpp:432
QMap< UMLEntityAttribute *, Uml::ID::Type > m_pEntityAttributeIDMap
Definition: foreignkeyconstraint.h:101
UpdateDeleteAction
Definition: foreignkeyconstraint.h:37
Enum
Definition: basictypes.h:160
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:27
void clearMappings()
Definition: foreignkeyconstraint.cpp:366
The base class for UML objects.
Definition: umlobject.h:69
Definition: foreignkeyconstraint.h:41
void setReferencedEntity(UMLEntity *ent)
Definition: foreignkeyconstraint.cpp:335
Uml::ID::Type m_pReferencedEntityID
Used to resolve forward references to UMLEntity.
Definition: foreignkeyconstraint.h:94
Definition: foreignkeyconstraint.h:37
virtual UMLObject * clone() const
Definition: foreignkeyconstraint.cpp:105
bool operator==(const UMLForeignKeyConstraint &rhs) const
Definition: foreignkeyconstraint.cpp:66
bool resolveRef()
Definition: foreignkeyconstraint.cpp:375
UpdateDeleteAction getUpdateAction() const
Definition: foreignkeyconstraint.cpp:424
UMLEntity * getReferencedEntity() const
Definition: foreignkeyconstraint.cpp:349
QMap< UMLEntityAttribute *, UMLEntityAttribute * > m_AttributeMap
Definition: foreignkeyconstraint.h:110
QMap< UMLEntityAttribute *, UMLEntityAttribute * > getEntityAttributePairs()
Definition: foreignkeyconstraint.cpp:408
std::string Type
Definition: basictypes.h:371
UpdateDeleteAction m_UpdateAction
What to do on Update of referenced attributes.
Definition: foreignkeyconstraint.h:112
Sets up entity constraint information.
Definition: entityconstraint.h:21
void saveToXMI(QXmlStreamWriter &writer)
Definition: foreignkeyconstraint.cpp:143
Sets up entityattribute information.
Definition: entityattribute.h:20
UpdateDeleteAction getDeleteAction() const
Definition: foreignkeyconstraint.cpp:416
Definition: basictypes.h:161
virtual void copyInto(UMLObject *lhs) const
Definition: foreignkeyconstraint.cpp:88
void slotReferencedEntityChanged()
Definition: foreignkeyconstraint.cpp:357
UMLForeignKeyConstraint(UMLObject *parent, const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: foreignkeyconstraint.cpp:27
QString name() const
Definition: umlobject.cpp:207
Definition: foreignkeyconstraint.h:40
bool load1(QDomElement &element)
Definition: foreignkeyconstraint.cpp:268
UpdateDeleteAction m_DeleteAction
What to do on Deletion of referenced attributes.
Definition: foreignkeyconstraint.h:113
virtual bool showPropertiesDialog(QWidget *parent=0)
Definition: foreignkeyconstraint.cpp:169
virtual ~UMLForeignKeyConstraint()
Definition: foreignkeyconstraint.cpp:80
void init()
Definition: foreignkeyconstraint.cpp:47
void sigReferencedEntityChanged()
Definition: moc_foreignkeyconstraint.cpp:139
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
bool addEntityAttributePair(UMLEntityAttribute *pAttr, UMLEntityAttribute *rAttr)
Definition: foreignkeyconstraint.cpp:181
QString toString(Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig, bool withStereotype=false) const
Definition: foreignkeyconstraint.cpp:118
Non-graphical Information for an Entity.
Definition: entity.h:29
bool removeEntityAttributePair(UMLEntityAttribute *pAttr)
Definition: foreignkeyconstraint.cpp:241
Definition: foreignkeyconstraint.h:39