umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
sqlimport.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2015 Ralf Habacker <ralf.habacker@freenet.de>
3
4 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5*/
6
7#ifndef SQLIMPORT_H
8#define SQLIMPORT_H
9
10#include "nativeimportbase.h"
11
12class UMLEntity;
13class UMLObject;
14
22class SQLImport : public QObject, public NativeImportBase {
23 Q_OBJECT
24public:
25 explicit SQLImport(CodeImpThread* thread = 0);
26 virtual ~SQLImport();
27
28 bool parseStmt();
29
30protected:
32 public:
34 : primaryKey(false),
35 uniqueKey(false),
36 notNullConstraint(false),
37 autoIncrement(false)
38 {
39 }
40
45 QString collate;
46 QString defaultValue;
48 QString characterSet;
49 };
50
52 public:
54 : primaryKey(false),
55 uniqueKeys(false),
56 notNullConstraint(false),
57 autoIncrement(false),
58 checkConstraint(false)
59 {
60 }
61
68 QStringList primaryKeyFields;
70 QStringList uniqueKeysFields;
71 QString collate;
72 QString defaultValue;
74 };
75
76 virtual QString advance();
77
78 void fillSource(const QString &word);
79 bool parseCreateTable(QString &token);
80 bool parseAlterTable(QString &token);
81 QString parseIdentifier(QString &token);
82 QString parseDefaultExpression(QString &token);
83 QStringList parseFieldType(QString &token);
84 QStringList parseIdentifierList(QString &token);
87 bool parseCreateDefinition(QString &token, UMLEntity *entity);
88 UMLObject *addDatatype(const QStringList &type);
89 bool addPrimaryKey(UMLEntity *entity, const QString &name, const QStringList &fields);
90 bool addUniqueConstraint(UMLEntity *entity, const QString &name, const QStringList &fields);
91 bool addForeignConstraint(UMLEntity *entityA, const QString &name, const QStringList &fieldNames,
92 const QString &referencedTable, const QStringList &referencedFields);
93};
94
95#endif
96
Definition: codeimpthread.h:22
Base class for native implementations of language import.
Definition: nativeimportbase.h:40
Definition: sqlimport.h:31
bool autoIncrement
Definition: sqlimport.h:44
QString constraintName
Definition: sqlimport.h:47
bool primaryKey
Definition: sqlimport.h:41
bool notNullConstraint
Definition: sqlimport.h:43
QString defaultValue
Definition: sqlimport.h:46
ColumnConstraints()
Definition: sqlimport.h:33
bool uniqueKey
Definition: sqlimport.h:42
QString characterSet
Definition: sqlimport.h:48
QString collate
Definition: sqlimport.h:45
Definition: sqlimport.h:51
bool primaryKey
Definition: sqlimport.h:62
bool autoIncrement
Definition: sqlimport.h:65
QStringList primaryKeyFields
Definition: sqlimport.h:68
TableConstraints()
Definition: sqlimport.h:53
QString collate
Definition: sqlimport.h:71
bool notNullConstraint
Definition: sqlimport.h:64
QString uniqueKeyName
Definition: sqlimport.h:69
bool checkConstraint
Definition: sqlimport.h:66
bool uniqueKeys
Definition: sqlimport.h:63
QString defaultValue
Definition: sqlimport.h:72
QString checkExpression
Definition: sqlimport.h:67
QString constraintName
Definition: sqlimport.h:73
QStringList uniqueKeysFields
Definition: sqlimport.h:70
Definition: sqlimport.h:22
bool parseCreateDefinition(QString &token, UMLEntity *entity)
Definition: sqlimport.cpp:538
QStringList parseIdentifierList(QString &token)
Definition: sqlimport.cpp:139
bool parseCreateTable(QString &token)
Definition: sqlimport.cpp:659
virtual ~SQLImport()
Definition: sqlimport.cpp:59
QString parseDefaultExpression(QString &token)
Definition: sqlimport.cpp:237
QString parseIdentifier(QString &token)
Definition: sqlimport.cpp:109
virtual QString advance()
Definition: sqlimport.cpp:848
void fillSource(const QString &word)
Definition: sqlimport.cpp:66
bool addForeignConstraint(UMLEntity *entityA, const QString &name, const QStringList &fieldNames, const QString &referencedTable, const QStringList &referencedFields)
Definition: sqlimport.cpp:962
ColumnConstraints parseColumnConstraints(QString &token)
Definition: sqlimport.cpp:297
TableConstraints parseTableConstraints(QString &token)
Definition: sqlimport.cpp:478
bool parseAlterTable(QString &token)
Definition: sqlimport.cpp:706
QStringList parseFieldType(QString &token)
Definition: sqlimport.cpp:165
bool addPrimaryKey(UMLEntity *entity, const QString &name, const QStringList &fields)
Definition: sqlimport.cpp:878
bool addUniqueConstraint(UMLEntity *entity, const QString &name, const QStringList &fields)
Definition: sqlimport.cpp:922
bool parseStmt()
Definition: sqlimport.cpp:792
SQLImport(CodeImpThread *thread=0)
Definition: sqlimport.cpp:51
UMLObject * addDatatype(const QStringList &type)
Definition: sqlimport.cpp:855
Non-graphical Information for an Entity.
Definition: entity.h:30
The base class for UML objects.
Definition: umlobject.h:70