umbrello  26.08.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
umlentity.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2003-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef ENTITY_H
7 #define ENTITY_H
8 
9 #include "umlclassifier.h"
10 
11 // forward declarations
12 class UMLEntityAttribute;
16 class UMLCheckConstraint;
18 
29 class UMLEntity : public UMLClassifier
30 {
31  Q_OBJECT
32 public:
33  explicit UMLEntity(const QString& name = QString(), Uml::ID::Type id = Uml::ID::None);
34  virtual ~UMLEntity();
35 
36  bool operator==(const UMLEntity& rhs) const;
37 
38  virtual void copyInto(UMLObject *lhs) const;
39 
40  virtual UMLObject* clone() const;
41 
42  virtual UMLAttribute* createAttribute(const QString &name = QString(),
44  const QString &init = QString());
45 
46  UMLUniqueConstraint* createUniqueConstraint(const QString &name = QString());
47  UMLForeignKeyConstraint* createForeignKeyConstraint(const QString &name = QString());
48  UMLCheckConstraint* createCheckConstraint(const QString &name = QString());
49 
51  bool addEntityAttribute(UMLEntityAttribute *att, IDChangeLog *log = nullptr);
52  bool addEntityAttribute(UMLEntityAttribute* att, int position);
53 
55 
57 
58  int entityAttributes() const;
59 
60  bool setAsPrimaryKey(UMLUniqueConstraint* uconstr);
61  void unsetPrimaryKey();
62  bool hasPrimaryKey() const;
63  bool isPrimaryKey(const UMLUniqueConstraint* uConstr) const;
64 
65  bool addConstraint(UMLEntityConstraint* constr);
67 
68  virtual bool resolveRef();
69 
70  virtual void saveToXMI(QXmlStreamWriter& writer);
71 
73 
75 
76  virtual UMLClassifierListItem* makeChildObject(const QString& xmiTag);
77 
78 private Q_SLOTS:
80 
81 Q_SIGNALS:
86 
87 protected:
88  bool load1(QDomElement& element);
89 
90 private:
91 
99 
100 };
101 
102 #endif // ENTITY_H
103 
UMLCheckConstraint * createCheckConstraint(const QString &name=QString())
Definition: umlentity.cpp:251
Definition: umlclassifierlistitemlist.h:21
Information for a non-graphical Concept/Class.
Definition: umlclassifier.h:34
virtual ~UMLEntity()
Definition: umlentity.cpp:50
A base class for classifier list items (e.g. attributes)
Definition: umlclassifierlistitem.h:24
Enum
Definition: basictypes.h:45
UMLUniqueConstraint * createUniqueConstraint(const QString &name=QString())
Definition: umlentity.cpp:148
bool setAsPrimaryKey(UMLUniqueConstraint *uconstr)
Definition: umlentity.cpp:514
Definition: idchangelog.h:21
UMLEntity(const QString &name=QString(), Uml::ID::Type id=Uml::ID::None)
Definition: umlentity.cpp:38
void init()
Definition: umlobject.cpp:122
Sets up attribute information.
Definition: umlattribute.h:22
bool isPrimaryKey(const UMLUniqueConstraint *uConstr) const
Definition: umlentity.cpp:680
virtual UMLObject * clone() const
Definition: umlentity.cpp:81
void entityAttributeAdded(UMLClassifierListItem *)
Sets up Check Constraint information for UMLEntities.
Definition: umlcheckconstraint.h:20
Sets up Foreign Key entity constraint information.
Definition: umlforeignkeyconstraint.h:27
Definition: basictypes.h:47
The base class for UML objects.
Definition: umlobject.h:69
bool load1(QDomElement &element)
Definition: umlentity.cpp:457
bool operator==(const UMLEntity &rhs) const
Definition: umlentity.cpp:58
UMLClassifierListItemList getFilteredList(UMLObject::ObjectType ot) const
Definition: umlentity.cpp:647
QString name() const
Definition: umlobject.cpp:207
virtual UMLClassifierListItem * makeChildObject(const QString &xmiTag)
Definition: umlentity.cpp:713
void entityAttributeRemoved(UMLClassifierListItem *)
bool removeConstraint(UMLEntityConstraint *constr)
Definition: umlentity.cpp:601
bool addConstraint(UMLEntityConstraint *constr)
Definition: umlentity.cpp:578
bool hasPrimaryKey() const
Definition: umlentity.cpp:563
UMLObject * addEntityAttribute(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: umlentity.cpp:302
void entityConstraintAdded(UMLClassifierListItem *)
int removeEntityAttribute(UMLClassifierListItem *att)
Definition: umlentity.cpp:370
std::string Type
Definition: basictypes.h:371
virtual void copyInto(UMLObject *lhs) const
Definition: umlentity.cpp:67
void signalEntityAttributeRemoved(UMLClassifierListItem *eattr)
Definition: umlentity.cpp:398
virtual bool resolveRef()
Definition: umlentity.cpp:407
Sets up entity constraint information.
Definition: umlentityconstraint.h:21
void unsetPrimaryKey()
Definition: umlentity.cpp:554
ObjectType
Definition: umlobject.h:75
Sets up Unique entity constraint information.
Definition: umluniqueconstraint.h:23
Sets up entityattribute information.
Definition: umlentityattribute.h:20
Definition: umlentityattributelist.h:19
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: umlentity.cpp:435
int entityAttributes() const
Definition: umlentity.cpp:389
UMLUniqueConstraint * m_PrimaryKey
Definition: umlentity.h:98
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
UMLForeignKeyConstraint * createForeignKeyConstraint(const QString &name=QString())
Definition: umlentity.cpp:202
Non-graphical Information for an Entity.
Definition: umlentity.h:29
void slotEntityAttributeRemoved(UMLClassifierListItem *)
Definition: umlentity.cpp:625
UMLEntityAttributeList getEntityAttributes() const
Definition: umlentity.cpp:693
virtual UMLAttribute * createAttribute(const QString &name=QString(), UMLObject *type=nullptr, Uml::Visibility::Enum vis=Uml::Visibility::Private, const QString &init=QString())
Definition: umlentity.cpp:97
void entityConstraintRemoved(UMLClassifierListItem *)