umbrello  2.35.0
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
sqlwriter.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3 
4  SPDX-FileCopyrightText: 2003 Nikolaus Gradwohl <guru@local-guru.net>
5  SPDX-FileCopyrightText: 2004-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
6 */
7 
8 #ifndef SQLWRITER_H
9 #define SQLWRITER_H
10 
11 #include "simplecodegenerator.h"
12 #include "umlattributelist.h"
13 
14 //forward declarations
15 class UMLEntity;
18 
26 {
27  Q_OBJECT
28 public:
29 
30  SQLWriter();
31  virtual ~SQLWriter();
32 
33  virtual void writeClass(UMLClassifier *c);
34 
36 
37  virtual QStringList defaultDatatypes() const;
38 
39  virtual QStringList reservedKeywords() const;
40 
41 protected:
42  QStringList m_enumsGenerated;
44 
45  virtual void printEntityAttributes(QTextStream& sql, UMLEntityAttributeList entityAttributeList);
46  virtual void printUniqueConstraints(QTextStream& sql, UMLClassifierListItemList constrList);
47  virtual void printForeignKeyConstraints(QTextStream& sql, UMLClassifierListItemList constrList);
48  virtual void printCheckConstraints(QTextStream& sql, UMLClassifierListItemList constrList);
49  virtual void printIndex(QTextStream& sql, UMLEntity* ent, UMLEntityAttributeList entAttList);
50  virtual void printAutoIncrements(QTextStream& sql, UMLEntityAttributeList entAttList);
51 };
52 
53 #endif // SQLWRITER_H
UMLForeignKeyConstraint::getUpdateAction
UpdateDeleteAction getUpdateAction() const
Definition: foreignkeyconstraint.cpp:424
SQLWriter::reservedKeywords
virtual QStringList reservedKeywords() const
Definition: sqlwriter.cpp:364
UMLForeignKeyConstraint::UpdateDeleteAction
UpdateDeleteAction
Definition: foreignkeyconstraint.h:37
UMLObject::id
virtual Uml::ID::Type id() const
Definition: umlobject.cpp:421
UMLEntity
Non-graphical Information for an Entity.
Definition: entity.h:29
umlattributelist.h
UMLObject::asUMLUniqueConstraint
UMLUniqueConstraint * asUMLUniqueConstraint()
Definition: umlobject.cpp:1443
checkconstraint.h
SimpleCodeGenerator::m_indentation
QString m_indentation
Definition: simplecodegenerator.h:72
Uml::ProgrammingLanguage::Enum
Enum
Definition: basictypes.h:291
UMLObject::asUMLCheckConstraint
UMLCheckConstraint * asUMLCheckConstraint()
Definition: umlobject.cpp:1421
Uml::ProgrammingLanguage::PostgreSQL
@ PostgreSQL
Definition: basictypes.h:305
UMLObject::ot_CheckConstraint
@ ot_CheckConstraint
Definition: umlobject.h:103
UMLObject::name
QString name() const
Definition: umlobject.cpp:207
Model_Utils::updateDeleteActionToString
QString updateDeleteActionToString(UMLForeignKeyConstraint::UpdateDeleteAction uda)
Definition: model_utils.cpp:2204
CodeGenerator::getHeadingFile
virtual QString getHeadingFile(const QString &file)
Definition: codegenerator.cpp:406
entity.h
CodeGenerator::cleanName
static QString cleanName(const QString &name)
Definition: codegenerator.cpp:548
UMLClassifier::getFilteredList
virtual UMLClassifierListItemList getFilteredList(UMLObject::ObjectType ot) const
Definition: classifier.cpp:999
UMLObject::ot_ForeignKeyConstraint
@ ot_ForeignKeyConstraint
Definition: umlobject.h:102
operation.h
UMLClassifierListItem::getType
UMLClassifier * getType() const
Definition: classifierlistitem.cpp:98
UMLAttribute::getInitialValue
QString getInitialValue() const
Definition: attribute.cpp:100
foreignkeyconstraint.h
UMLClassifierListItem::getTypeName
virtual QString getTypeName() const
Definition: classifierlistitem.cpp:108
SQLWriter::defaultDatatypes
virtual QStringList defaultDatatypes() const
Definition: sqlwriter.cpp:331
UMLForeignKeyConstraint
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:27
Uml::RoleType::A
@ A
Definition: basictypes.h:237
UMLObject::asUMLForeignKeyConstraint
UMLForeignKeyConstraint * asUMLForeignKeyConstraint()
Definition: umlobject.cpp:1432
Uml::ProgrammingLanguage::MySQL
@ MySQL
Definition: basictypes.h:300
SQLWriter
Definition: sqlwriter.h:25
association.h
SQLWriter::printIndex
virtual void printIndex(QTextStream &sql, UMLEntity *ent, UMLEntityAttributeList entAttList)
Definition: sqlwriter.cpp:586
UMLEntity::getEntityAttributes
UMLEntityAttributeList getEntityAttributes() const
Definition: entity.cpp:693
SQLWriter::m_enumsGenerated
QStringList m_enumsGenerated
Definition: sqlwriter.h:42
model_utils.h
UMLEntityAttribute::getAttributes
QString getAttributes() const
Definition: entityattribute.cpp:72
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
SQLWriter::language
virtual Uml::ProgrammingLanguage::Enum language() const
Definition: sqlwriter.cpp:323
UMLObject::baseType
ObjectType baseType() const
Definition: umlobject.cpp:393
UMLForeignKeyConstraint::getReferencedEntity
UMLEntity * getReferencedEntity() const
Definition: foreignkeyconstraint.cpp:349
CodeGenerator::forceDoc
bool forceDoc() const
Definition: codegenerator.cpp:764
UMLObject::ot_EnumLiteral
@ ot_EnumLiteral
Definition: umlobject.h:90
SQLWriter::SQLWriter
SQLWriter()
Definition: sqlwriter.cpp:174
umlclassifierlistitemlist.h
UMLEntityAttribute::getValues
QString getValues() const
Definition: entityattribute.cpp:90
UMLEntityAttribute::getNull
bool getNull() const
Definition: entityattribute.cpp:144
UMLObject::asUMLEnum
UMLEnum * asUMLEnum()
Definition: umlobject.cpp:1429
CodeGenerator::showGeneratedFile
void showGeneratedFile(const QString &filename)
Definition: moc_codegenerator.cpp:181
Uml::ProgrammingLanguage::SQL
@ SQL
Definition: basictypes.h:308
SQLWriter::printUniqueConstraints
virtual void printUniqueConstraints(QTextStream &sql, UMLClassifierListItemList constrList)
Definition: sqlwriter.cpp:458
umlentityattributelist.h
attribute.h
a
QString a
Definition: petalnode.cpp:13
SimpleCodeGenerator::m_endl
QString m_endl
Definition: simplecodegenerator.h:74
reserved_words
static const char * reserved_words[]
Definition: sqlwriter.cpp:33
SQLWriter::printForeignKeyConstraints
virtual void printForeignKeyConstraints(QTextStream &sql, UMLClassifierListItemList constrList)
Definition: sqlwriter.cpp:506
UMLForeignKeyConstraint::getEntityAttributePairs
QMap< UMLEntityAttribute *, UMLEntityAttribute * > getEntityAttributePairs()
Definition: foreignkeyconstraint.cpp:408
CodeGenerator::formatDoc
static QString formatDoc(const QString &text, const QString &linePrefix=QLatin1String(" *"), int lineWidth=80)
Definition: codegenerator.cpp:711
SimpleCodeGenerator
Definition: simplecodegenerator.h:29
Uml::RoleType::B
@ B
Definition: basictypes.h:238
SQLWriter::printCheckConstraints
virtual void printCheckConstraints(QTextStream &sql, UMLClassifierListItemList constrList)
Definition: sqlwriter.cpp:634
UMLEntity::getFilteredList
UMLClassifierListItemList getFilteredList(UMLObject::ObjectType ot) const
Definition: entity.cpp:646
UMLObject::ot_UniqueConstraint
@ ot_UniqueConstraint
Definition: umlobject.h:101
c
type show c for details The hypothetical commands show w and show c should show the appropriate parts of the General Public License Of the commands you use may be called something other than show w and show c
Definition: GPL-2.0-only.txt:301
SQLWriter::~SQLWriter
virtual ~SQLWriter()
Definition: sqlwriter.cpp:179
UMLObject::doc
QString doc() const
Definition: umlobject.cpp:431
SQLWriter::m_pEntity
UMLEntity * m_pEntity
Definition: sqlwriter.h:43
UMLEntityAttributeList
Definition: umlentityattributelist.h:19
UMLEntity::isPrimaryKey
bool isPrimaryKey(const UMLUniqueConstraint *uConstr) const
Definition: entity.cpp:680
UMLCanvasObject::getRelationships
UMLAssociationList getRelationships() const
Definition: umlcanvasobject.cpp:433
UMLCheckConstraint::getCheckCondition
QString getCheckCondition() const
Definition: checkconstraint.h:47
UMLEntityAttribute::Index
@ Index
Definition: entityattribute.h:29
UMLClassifierListItemList
Definition: umlclassifierlistitemlist.h:21
CodeGenerator::codeGenerated
void codeGenerated(UMLClassifier *concept, bool generated)
Definition: moc_codegenerator.cpp:167
classifier.h
uniqueconstraint.h
UMLObject::ot_Enum
@ ot_Enum
Definition: umlobject.h:84
UMLForeignKeyConstraint::getDeleteAction
UpdateDeleteAction getDeleteAction() const
Definition: foreignkeyconstraint.cpp:416
uml.h
UMLObject::baseTypeStr
QLatin1String baseTypeStr() const
Definition: umlobject.cpp:401
UMLCheckConstraint
Sets up Check Constraint information for UMLEntities.
Definition: checkconstraint.h:20
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:34
debug_utils.h
UMLAssociation
Sets up association information.
Definition: association.h:28
UMLUniqueConstraint::getEntityAttributeList
UMLEntityAttributeList getEntityAttributeList() const
Definition: uniqueconstraint.cpp:313
SQLWriter::printEntityAttributes
virtual void printEntityAttributes(QTextStream &sql, UMLEntityAttributeList entityAttributeList)
Definition: sqlwriter.cpp:382
simplecodegenerator.h
UMLEntityAttribute
Sets up entityattribute information.
Definition: entityattribute.h:20
CodeGenerator::forceSections
bool forceSections() const
Definition: codegenerator.cpp:774
SQLWriter::printAutoIncrements
virtual void printAutoIncrements(QTextStream &sql, UMLEntityAttributeList entAttList)
Definition: sqlwriter.cpp:623
UMLClassifierListItem
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:24
UMLEnum
Non-graphical Information for an Enum.
Definition: enum.h:23
sqlwriter.h
UMLAssociationList
QList< UMLAssociation * > UMLAssociationList
Definition: umlassociationlist.h:12
SQLWriter::writeClass
virtual void writeClass(UMLClassifier *c)
Definition: sqlwriter.cpp:187
SimpleCodeGenerator::findFileName
QString findFileName(UMLPackage *concept, const QString &ext)
Definition: simplecodegenerator.cpp:87
UMLUniqueConstraint
Sets up Unique entity constraint information.
Definition: uniqueconstraint.h:23
CodeGenerator::openFile
bool openFile(QFile &file, const QString &name)
Definition: codegenerator.cpp:522
UMLEntityAttribute::indexType
DBIndex_Type indexType() const
Definition: entityattribute.cpp:126
logError2
#define logError2(s, a, b)
Definition: uml.h:551
enum.h