|
#ifndef ATTRIBUTE_H
|
|
#define ATTRIBUTE_H
|
|
#include <QString>
|
|
#include <QMetaObject>
|
|
#include "relation.h"
|
|
namespace CuteEntityManager {
|
|
class Attribute {
|
|
public:
|
|
Attribute(QString name, QString columnName, QString tableName, const QMetaObject *metaObj,
|
|
QString relatedTable = "", const QMetaObject *relatedClass = nullptr,
|
|
QString conjunctedTable = "", QString relatedColumnName = "", QString baseTableName = "",
|
|
const QMetaObject *baseMetaObj = nullptr);
|
|
QString getName() const;
|
|
void setName(const QString &value);
|
|
|
|
QString getColumnName() const;
|
|
void setColumnName(const QString &value);
|
|
|
|
QString getTableName() const;
|
|
void setTableName(const QString &value);
|
|
|
|
QString getRelatedTable() const;
|
|
void setRelatedTable(const QString &value);
|
|
|
|
QString getConjunctedTable() const;
|
|
void setConjunctedTable(const QString &value);
|
|
|
|
QString getBaseTableName() const;
|
|
void setBaseTableName(const QString &value);
|
|
void setInheritance(const QString &baseTableName, const QMetaObject *baseMetaObj);
|
|
void setRelation(const QString &tableName, const QMetaObject *relatedMetaObj, const Relation &relation = Relation(),
|
|
const QString &conjunctedTable = "", const QString &relatedColumnName = "");
|
|
const QMetaProperty getMetaProperty();
|
|
const QMetaObject *getMetaObj() const;
|
|
void setMetaObj(const QMetaObject *value);
|
|
|
|
const QMetaObject *getBaseMetaObj() const;
|
|
void setBaseMetaObj(const QMetaObject *value);
|
|
|
|
const QMetaObject *getRelatedClass() const;
|
|
void setRelatedClass(const QMetaObject *value);
|
|
|
|
QString getRelatedColumnName() const;
|
|
void setRelatedColumnName(const QString &value);
|
|
|
|
Relation getRelation() const;
|
|
|
|
QString toString() const;
|
|
|
|
private:
|
|
QString name;
|
|
QString columnName;
|
|
QString tableName;
|
|
const QMetaObject *metaObj;
|
|
QString baseTableName;
|
|
const QMetaObject *baseMetaObj;
|
|
QString relatedTable;
|
|
const QMetaObject *relatedClass;
|
|
Relation relation;
|
|
QString relatedColumnName;
|
|
QString conjunctedTable;
|
|
};
|
|
}
|
|
#endif // ATTRIBUTE_H
|