umbrello 2.38.4
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:531
QStringList parseIdentifierList(QString &token)
Definition sqlimport.cpp:132
bool parseCreateTable(QString &token)
Definition sqlimport.cpp:652
virtual ~SQLImport()
Definition sqlimport.cpp:52
QString parseDefaultExpression(QString &token)
Definition sqlimport.cpp:230
QString parseIdentifier(QString &token)
Definition sqlimport.cpp:102
virtual QString advance()
Definition sqlimport.cpp:841
void fillSource(const QString &word)
Definition sqlimport.cpp:59
bool addForeignConstraint(UMLEntity *entityA, const QString &name, const QStringList &fieldNames, const QString &referencedTable, const QStringList &referencedFields)
Definition sqlimport.cpp:955
ColumnConstraints parseColumnConstraints(QString &token)
Definition sqlimport.cpp:290
TableConstraints parseTableConstraints(QString &token)
Definition sqlimport.cpp:471
bool parseAlterTable(QString &token)
Definition sqlimport.cpp:699
QStringList parseFieldType(QString &token)
Definition sqlimport.cpp:158
bool addPrimaryKey(UMLEntity *entity, const QString &name, const QStringList &fields)
Definition sqlimport.cpp:871
bool addUniqueConstraint(UMLEntity *entity, const QString &name, const QStringList &fields)
Definition sqlimport.cpp:915
bool parseStmt()
Definition sqlimport.cpp:785
UMLObject * addDatatype(const QStringList &type)
Definition sqlimport.cpp:848
Non-graphical Information for an Entity.
Definition entity.h:30
The base class for UML objects.
Definition umlobject.h:70