Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
cpp 1
#include "DomainModel.h"
using namespace DBConan;
KeyElementData::~KeyElementData()
{
}
ForeignKeyData::~ForeignKeyData()
{
}
PrimaryKeyData::~PrimaryKeyData()
{
}
ColumnData::~ColumnData()
{
}
TableData::~TableData()
{
}
SchemaData::~SchemaData()
{
}
KeyElementData::KeyElementData() : position(-1)
{
}
PrimaryKeyData::PrimaryKeyData()
{
name.clear();
elements.clear();
foreignKeys.clear();
}
ForeignKeyData::ForeignKeyData()
{
name.clear();
elements.empty();
}
ColumnData::ColumnData() : position(-1)
{
name.clear();
type.clear();
keyName.clear();
description.clear();
DomainModel.cpp 2
}
TableData::TableData() : allPossibleForeignKeysLocked(false)
{
name.clear();
columns.empty();
foreignKeys.empty();
allPossibleForeignKeys.empty();
}
// -- http://www.cprogramming.com/tutorial/initialization-lists-c++.html
SchemaData::SchemaData() : port(-1)
{
host.clear();
dbName.clear();
name.clear();
userName.clear();
description.clear();
tables.empty();
}
Schema::Schema()
{
d = new SchemaData;
}
Table::Table()
{
d = new TableData;
}
DomainModel.cpp 3
QList<KeyElement> pkElements;
int pkElementPosition = 1;
int numberOfPkColumns = primaryKeyColumnNames.size();
for (int i = 0; i < numberOfPkColumns; i++)
{
for (int j = 0; j < numberOfColumns; j++)
{
Column col = d->columns.at(j);
if (col.name() == primaryKeyColumnNames.at(i))
{
KeyElement pkElement(col, pkElementPosition);
pkElementPosition++;
pkElements.append(pkElement);
}
}
}
KeyElement::KeyElement()
{
d = new KeyElementData;
}
Column::Column()
{
d = new ColumnData;
}
ForeignKey::ForeignKey()
{
d = new ForeignKeyData;
}
// ---------------
void Schema::addTable(Table table)
{
d->tables.append(table);
}
QString Schema::host() const
{
return d->host;
}
int Schema::port() const
{
return d->port;
}
QString Schema::dbName() const
{
return d->dbName;
}
QString Schema::name() const
{
return d->name;
}
QString Schema::userName() const
{
return d->userName;
}
DomainModel.cpp 5
QDateTime Schema::dateOfCreation() const
{
return d->dateOfCreation;
}
QString Schema::description() const
{
return d->description;
}
QList<Table> Schema::tables() const
{
return d->tables;
}
// ---------------
QString Table::name() const
{
return d->name;
}
QList<Column> Table::columns() const
{
return d->columns;
}
PrimaryKey Table::primaryKey() const
{
return d->primaryKey.at(0);
}
QList<ForeignKey> Table::foreignKeys() const
{
return d->foreignKeys;
}
QList<ForeignKey> Table::allPossibleForeignKeys() const
{
return d->allPossibleForeignKeys;
}
// ---------------
QString Column::name() const {
return d->name;
}
QString Column::type() const {
return d->type;
}
QString Column::keyName() const {
return d->keyName;
}
int Column::position() const {
return d->position;
}
QString Column::description() const {
return d->description;
}
// ---------------
int KeyElement::position() const
{
return d->position;
}
Column KeyElement::column() const
{
return d->column;
}
// ---------------
QString PrimaryKey::name() const
{
return d->name;
}
QList<KeyElement> PrimaryKey::elements() const
{
return d->elements;
}
QList<ForeignKey> PrimaryKey::foreignKeys() const {
DomainModel.cpp 6
return d->foreignKeys;
}
Table PrimaryKey::table() const
{
return d->table;
}
// ---------------
QString ForeignKey::name() const
{
return d->name;
}
QList<KeyElement> ForeignKey::elements() const
{
return d->elements;
}
PrimaryKey ForeignKey::primaryKey() const
{
return d->primaryKey;
}
Table ForeignKey::table() const
{
return d->table;
}
// ---------------