umbrello  2.32.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  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2003-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #ifndef ENTITY_H
12 #define ENTITY_H
13 
14 #include "classifier.h"
15 
16 // forward declarations
17 class UMLEntityAttribute;
21 class UMLCheckConstraint;
23 
34 class UMLEntity : public UMLClassifier
35 {
36  Q_OBJECT
37 public:
38  explicit UMLEntity(const QString& name = QString(), Uml::ID::Type id = Uml::ID::None);
39  virtual ~UMLEntity();
40 
41  bool operator==(const UMLEntity& rhs) const;
42 
43  virtual void copyInto(UMLObject *lhs) const;
44 
45  virtual UMLObject* clone() const;
46 
47  virtual UMLAttribute* createAttribute(const QString &name = QString(),
49  const QString &init = QString());
50 
51  UMLUniqueConstraint* createUniqueConstraint(const QString &name = QString());
52  UMLForeignKeyConstraint* createForeignKeyConstraint(const QString &name = QString());
53  UMLCheckConstraint* createCheckConstraint(const QString &name = QString());
54 
57  bool addEntityAttribute(UMLEntityAttribute* att, int position);
58 
60 
62 
63  int entityAttributes() ;
64 
65  bool setAsPrimaryKey(UMLUniqueConstraint* uconstr);
66  void unsetPrimaryKey();
67  bool hasPrimaryKey() const;
68  bool isPrimaryKey(UMLUniqueConstraint* uConstr) const;
69 
70  bool addConstraint(UMLEntityConstraint* constr);
72 
73  virtual bool resolveRef();
74 
75  virtual void saveToXMI1(QDomDocument& qDoc, QDomElement& qElement);
76 
78 
80 
81  virtual UMLClassifierListItem* makeChildObject(const QString& xmiTag);
82 
83 private slots:
85 
86 signals:
91 
92 protected:
93  bool load1(QDomElement& element);
94 
95 private:
96 
104 
105 };
106 
107 #endif // ENTITY_H
108 
UMLCheckConstraint * createCheckConstraint(const QString &name=QString())
Definition: entity.cpp:254
Definition: umlclassifierlistitemlist.h:26
int entityAttributes()
Definition: entity.cpp:392
Information for a non-graphical Concept/Class.
Definition: classifier.h:39
virtual ~UMLEntity()
Definition: entity.cpp:53
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:29
Enum
Definition: basictypes.h:59
UMLUniqueConstraint * createUniqueConstraint(const QString &name=QString())
Definition: entity.cpp:151
bool setAsPrimaryKey(UMLUniqueConstraint *uconstr)
Definition: entity.cpp:512
Definition: idchangelog.h:26
UMLEntity(const QString &name=QString(), Uml::ID::Type id=Uml::ID::None)
Definition: entity.cpp:41
void init()
Definition: umlobject.cpp:126
Sets up attribute information.
Definition: attribute.h:27
virtual UMLObject * clone() const
Definition: entity.cpp:84
void entityAttributeAdded(UMLClassifierListItem *)
Definition: moc_entity.cpp:212
Sets up Check Constraint information for UMLEntities.
Definition: checkconstraint.h:25
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:32
Definition: basictypes.h:61
The base class for UML objects.
Definition: umlobject.h:73
bool load1(QDomElement &element)
Definition: entity.cpp:458
bool operator==(const UMLEntity &rhs) const
Definition: entity.cpp:61
UMLClassifierListItemList getFilteredList(UMLObject::ObjectType ot) const
Definition: entity.cpp:645
QString name() const
Definition: umlobject.cpp:211
bool isPrimaryKey(UMLUniqueConstraint *uConstr) const
Definition: entity.cpp:679
virtual UMLClassifierListItem * makeChildObject(const QString &xmiTag)
Definition: entity.cpp:712
void entityAttributeRemoved(UMLClassifierListItem *)
Definition: moc_entity.cpp:219
bool removeConstraint(UMLEntityConstraint *constr)
Definition: entity.cpp:599
bool addConstraint(UMLEntityConstraint *constr)
Definition: entity.cpp:576
bool hasPrimaryKey() const
Definition: entity.cpp:561
UMLObject * addEntityAttribute(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: entity.cpp:305
void entityConstraintAdded(UMLClassifierListItem *)
Definition: moc_entity.cpp:226
int removeEntityAttribute(UMLClassifierListItem *att)
Definition: entity.cpp:373
std::string Type
Definition: basictypes.h:351
virtual void copyInto(UMLObject *lhs) const
Definition: entity.cpp:70
void signalEntityAttributeRemoved(UMLClassifierListItem *eattr)
Definition: entity.cpp:401
virtual bool resolveRef()
Definition: entity.cpp:410
Sets up entity constraint information.
Definition: entityconstraint.h:26
virtual UMLAttribute * createAttribute(const QString &name=QString(), UMLObject *type=0, Uml::Visibility::Enum vis=Uml::Visibility::Private, const QString &init=QString())
Definition: entity.cpp:100
void unsetPrimaryKey()
Definition: entity.cpp:552
ObjectType
Definition: umlobject.h:79
Sets up Unique entity constraint information.
Definition: uniqueconstraint.h:28
Sets up entityattribute information.
Definition: entityattribute.h:25
Definition: umlentityattributelist.h:25
UMLUniqueConstraint * m_PrimaryKey
Definition: entity.h:103
const Type None
special value for uninitialized ID
Definition: basictypes.h:353
UMLForeignKeyConstraint * createForeignKeyConstraint(const QString &name=QString())
Definition: entity.cpp:205
virtual void saveToXMI1(QDomDocument &qDoc, QDomElement &qElement)
Definition: entity.cpp:437
Non-graphical Information for an Entity.
Definition: entity.h:34
void slotEntityAttributeRemoved(UMLClassifierListItem *)
Definition: entity.cpp:623
UMLEntityAttributeList getEntityAttributes() const
Definition: entity.cpp:692
void entityConstraintRemoved(UMLClassifierListItem *)
Definition: moc_entity.cpp:233