Projekt

Allgemein

Profil

Herunterladen als
Herunterladen (2,77 KB) Statistiken
| Zweig: | Revision:
c22391b2 Christian Ehringfeld
/*
* Copyright (C) 2015 Christian Ehringfeld <c.ehringfeld@t-online.de>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
4d58ef6a Christian Ehringfeld
#include "tableschema.h"
b0b8dac3 Christian Ehringfeld
using namespace CuteEntityManager;
4d58ef6a Christian Ehringfeld
426974c6 Christian Ehringfeld
TableSchema::TableSchema() {
4d58ef6a Christian Ehringfeld
}

426974c6 Christian Ehringfeld
TableSchema::~TableSchema() {
4d58ef6a Christian Ehringfeld
}

14f9beed Christian Ehringfeld
const QSharedPointer<QSqlField> TableSchema::getColumn(QString name) const {
auto columns = this->getColumns();
foreach (auto schema, columns) {
abb9e8c5 Christian Ehringfeld
if (schema->name() == name) {
14f9beed Christian Ehringfeld
return schema;
}
}
return QSharedPointer<QSqlField>();
426974c6 Christian Ehringfeld
}

01fe6db3 Christian Ehringfeld
bool TableSchema::containsColumn(QString name) const {
return this->columns.contains(name);
}

14f9beed Christian Ehringfeld
const QStringList TableSchema::getColumnNames() {
QStringList l;
auto columns = this->getColumns();
foreach (auto schema, columns) {
abb9e8c5 Christian Ehringfeld
l.append(schema->name());
14f9beed Christian Ehringfeld
}
return l;
426974c6 Christian Ehringfeld
}
caea9141 Christian Ehringfeld
426974c6 Christian Ehringfeld
QString TableSchema::getSchemaName() const {
return schemaName;
}

void TableSchema::setSchemaName(const QString &value) {
schemaName = value;
}
QString TableSchema::getName() const {
return name;
}

void TableSchema::setName(const QString &value) {
name = value;
}
QString TableSchema::getFullName() const {
return fullName;
}

void TableSchema::setFullName(const QString &value) {
fullName = value;
}
14f9beed Christian Ehringfeld
QStringList TableSchema::getPrimaryKeys() const {
426974c6 Christian Ehringfeld
return primaryKeys;
}

14f9beed Christian Ehringfeld
void TableSchema::setPrimaryKeys(const QStringList &value) {
426974c6 Christian Ehringfeld
primaryKeys = value;
}
QString TableSchema::getSequenceName() const {
return sequenceName;
}

void TableSchema::setSequenceName(const QString &value) {
sequenceName = value;
}

01fe6db3 Christian Ehringfeld
QHash<QString, QSharedPointer<QSqlField>> TableSchema::getColumns() const {
426974c6 Christian Ehringfeld
return columns;
}

01fe6db3 Christian Ehringfeld
void TableSchema::setColumns(const QHash<QString, QSharedPointer<QSqlField>>
e0e1ead8 Christian Ehringfeld
&value) {
426974c6 Christian Ehringfeld
columns = value;
}
01fe6db3 Christian Ehringfeld
QHash<QString, QSharedPointer<QSqlRelation>> TableSchema::getRelations()
e0e1ead8 Christian Ehringfeld
const {
14f9beed Christian Ehringfeld
return relations;
}

e0e1ead8 Christian Ehringfeld
void TableSchema::setRelations(
01fe6db3 Christian Ehringfeld
const QHash<QString, QSharedPointer<QSqlRelation>> &value) {
14f9beed Christian Ehringfeld
relations = value;
}
b0e92bc6 Christian Ehringfeld
QSharedPointer<QSqlRelationalTableModel> TableSchema::getTableModel() const {
QSqlRelationalTableModel *model = new QSqlRelationalTableModel;
model->setTable(this->getName());
return QSharedPointer<QSqlRelationalTableModel>(model);
}