umbrello 2.39.0
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
entity.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 "classifier.h"
10
11// forward declarations
18
30{
31 Q_OBJECT
32public:
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
61 void unsetPrimaryKey();
62 bool hasPrimaryKey() const;
63 bool isPrimaryKey(const UMLUniqueConstraint* uConstr) const;
64
67
68 virtual bool resolveRef();
69
70 virtual void saveToXMI(QXmlStreamWriter& writer);
71
73
75
76 virtual UMLClassifierListItem* makeChildObject(const QString& xmiTag);
77
78private Q_SLOTS:
80
81Q_SIGNALS:
86
87protected:
88 bool load1(QDomElement& element);
89
90private:
91
99
100};
101
102#endif // ENTITY_H
103
Definition idchangelog.h:22
Sets up attribute information.
Definition attribute.h:23
Sets up Check Constraint information for UMLEntities.
Definition checkconstraint.h:21
Information for a non-graphical Concept/Class.
Definition classifier.h:35
A base class for classifier list items (e.g. attributes)
Definition classifierlistitem.h:25
Definition umlclassifierlistitemlist.h:22
Sets up entityattribute information.
Definition entityattribute.h:21
Definition umlentityattributelist.h:20
Sets up entity constraint information.
Definition entityconstraint.h:22
Non-graphical Information for an Entity.
Definition entity.h:30
virtual ~UMLEntity()
Definition entity.cpp:50
bool operator==(const UMLEntity &rhs) const
Definition entity.cpp:58
virtual void copyInto(UMLObject *lhs) const
Definition entity.cpp:67
virtual UMLAttribute * createAttribute(const QString &name=QString(), UMLObject *type=nullptr, Uml::Visibility::Enum vis=Uml::Visibility::Private, const QString &init=QString())
Definition entity.cpp:97
UMLForeignKeyConstraint * createForeignKeyConstraint(const QString &name=QString())
Definition entity.cpp:202
UMLObject * addEntityAttribute(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition entity.cpp:302
bool load1(QDomElement &element)
Definition entity.cpp:456
void slotEntityAttributeRemoved(UMLClassifierListItem *)
Definition entity.cpp:624
void entityAttributeRemoved(UMLClassifierListItem *)
UMLEntity(const QString &name=QString(), Uml::ID::Type id=Uml::ID::None)
Definition entity.cpp:38
int entityAttributes() const
Definition entity.cpp:389
virtual UMLObject * clone() const
Definition entity.cpp:81
void entityAttributeAdded(UMLClassifierListItem *)
void unsetPrimaryKey()
Definition entity.cpp:553
int removeEntityAttribute(UMLClassifierListItem *att)
Definition entity.cpp:370
bool addConstraint(UMLEntityConstraint *constr)
Definition entity.cpp:577
UMLUniqueConstraint * createUniqueConstraint(const QString &name=QString())
Definition entity.cpp:148
UMLEntityAttributeList getEntityAttributes() const
Definition entity.cpp:692
void entityConstraintAdded(UMLClassifierListItem *)
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition entity.cpp:434
bool isPrimaryKey(const UMLUniqueConstraint *uConstr) const
Definition entity.cpp:679
virtual UMLClassifierListItem * makeChildObject(const QString &xmiTag)
Definition entity.cpp:712
void entityConstraintRemoved(UMLClassifierListItem *)
UMLCheckConstraint * createCheckConstraint(const QString &name=QString())
Definition entity.cpp:251
virtual bool resolveRef()
Definition entity.cpp:407
UMLClassifierListItemList getFilteredList(UMLObject::ObjectType ot) const
Definition entity.cpp:646
bool setAsPrimaryKey(UMLUniqueConstraint *uconstr)
Definition entity.cpp:513
UMLUniqueConstraint * m_PrimaryKey
Definition entity.h:98
void signalEntityAttributeRemoved(UMLClassifierListItem *eattr)
Definition entity.cpp:398
bool removeConstraint(UMLEntityConstraint *constr)
Definition entity.cpp:600
bool hasPrimaryKey() const
Definition entity.cpp:562
Sets up Foreign Key entity constraint information.
Definition foreignkeyconstraint.h:28
The base class for UML objects.
Definition umlobject.h:70
ObjectType
Definition umlobject.h:76
void init()
Definition umlobject.cpp:122
QString name() const
Definition umlobject.cpp:207
Sets up Unique entity constraint information.
Definition uniqueconstraint.h:24
const Type None
special value for uninitialized ID
Definition basictypes.h:373
std::string Type
Definition basictypes.h:371
Enum
Definition basictypes.h:45
@ Private
Definition basictypes.h:47