Herunterladen als
root/src/relation.cpp @ c6e41b5c
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/>.
|
|||
*/
|
|||
24c5480c | Christian Ehringfeld | #include "relation.h"
|
|
using namespace CuteEntityManager;
|
|||
Relation::Relation() {
|
|||
}
|
|||
033279c9 | SebastianDiel | Relation::Relation(QString propertyName, bool optional, RelationType type) {
|
|
24c5480c | Christian Ehringfeld | this->propertyName = propertyName;
|
|
this->type = type;
|
|||
this->optional = optional;
|
|||
da565582 | Christian Ehringfeld | this->cascadeType = {CascadeType::MERGE,
|
|
CascadeType::PERSIST,
|
|||
CascadeType::REFRESH
|
|||
47f9301a | Christian Ehringfeld | };
|
|
ba800d6d | Christian Ehringfeld | }
|
|
e0e1ead8 | Christian Ehringfeld | Relation::Relation(QString propertyName, RelationType type, QString mappedBy,
|
|
91ed1164 | Christian Ehringfeld | QList<CascadeType> cascadeType) {
|
|
ba800d6d | Christian Ehringfeld | this->propertyName = propertyName;
|
|
this->type = type;
|
|||
this->mappedBy = mappedBy;
|
|||
this->optional = true;
|
|||
da565582 | Christian Ehringfeld | if (this->type == RelationType::ONE_TO_ONE) {
|
|
this->cascadeType = {CascadeType::ALL};
|
|||
f4e3904b | Christian Ehringfeld | } else {
|
|
this->cascadeType = cascadeType;
|
|||
}
|
|||
24c5480c | Christian Ehringfeld | }
|
|
Relation::~Relation() {
|
|||
}
|
|||
RelationType Relation::getType() const {
|
|||
return type;
|
|||
}
|
|||
ea09b5be | Christian Ehringfeld | QString Relation::getTypeAsString() const {
|
|
QString r = "";
|
|||
switch (this->type) {
|
|||
case RelationType::ONE_TO_MANY:
|
|||
r = "ONE_TO_MANY";
|
|||
break;
|
|||
case RelationType::MANY_TO_MANY:
|
|||
r = "MANY_TO_MANY";
|
|||
break;
|
|||
case RelationType:: MANY_TO_ONE:
|
|||
r = "MANY_TO_ONE";
|
|||
break;
|
|||
case RelationType::ONE_TO_ONE:
|
|||
r = "ONE_TO_ONE";
|
|||
break;
|
|||
}
|
|||
return r;
|
|||
}
|
|||
24c5480c | Christian Ehringfeld | void Relation::setType(const RelationType &value) {
|
|
type = value;
|
|||
}
|
|||
QString Relation::getPropertyName() const {
|
|||
return propertyName;
|
|||
}
|
|||
void Relation::setPropertyName(const QString &value) {
|
|||
propertyName = value;
|
|||
}
|
|||
bool Relation::getOptional() const {
|
|||
return optional;
|
|||
}
|
|||
void Relation::setOptional(bool value) {
|
|||
optional = value;
|
|||
}
|
|||
ba800d6d | Christian Ehringfeld | QString Relation::getMappedBy() const {
|
|
return mappedBy;
|
|||
}
|
|||
void Relation::setMappedBy(const QString &value) {
|
|||
mappedBy = value;
|
|||
}
|
|||
91ed1164 | Christian Ehringfeld | QList<CascadeType> Relation::getCascadeType() const {
|
|
ba800d6d | Christian Ehringfeld | return cascadeType;
|
|
}
|
|||
91ed1164 | Christian Ehringfeld | void Relation::setCascadeType(const QList<CascadeType> &value) {
|
|
ba800d6d | Christian Ehringfeld | cascadeType = value;
|
|
}
|
|||