obelisk/src/models/fact.h

78 lines
1.8 KiB
C
Raw Normal View History

2022-11-01 01:04:41 -03:00
#ifndef OBELISK_MODELS_FACT_H
#define OBELISK_MODELS_FACT_H
#include "models/entity.h"
2022-11-26 00:32:06 -03:00
#include "models/fact.h"
2022-11-01 01:04:41 -03:00
#include "models/verb.h"
#include <string>
namespace obelisk
{
class Fact
{
private:
int id_;
obelisk::Entity leftEntity_;
obelisk::Entity rightEntity_;
obelisk::Verb verb_;
public:
Fact() :
id_(0),
leftEntity_(),
rightEntity_(),
verb_()
{
}
Fact(int id) :
id_(id),
leftEntity_(),
rightEntity_(),
verb_()
{
}
Fact(obelisk::Entity leftEntity,
obelisk::Entity rightEntity,
obelisk::Verb verb) :
id_(0),
leftEntity_(leftEntity),
rightEntity_(rightEntity),
verb_(verb)
{
}
Fact(int id,
obelisk::Entity leftEntity,
obelisk::Entity rightEntity,
obelisk::Verb verb) :
id_(id),
leftEntity_(leftEntity),
rightEntity_(rightEntity),
verb_(verb)
{
}
static const char* createTable();
2022-11-26 00:32:06 -03:00
int& getId();
2022-11-01 01:04:41 -03:00
void setId(int id);
2022-11-26 00:32:06 -03:00
Entity& getLeftEntity();
2022-11-01 01:04:41 -03:00
void setLeftEntity(obelisk::Entity leftEntity);
2022-11-26 00:32:06 -03:00
Entity& getRightEntity();
2022-11-01 01:04:41 -03:00
void setRightEntity(obelisk::Entity leftEntity);
2022-11-26 00:32:06 -03:00
Verb& getVerb();
2022-11-01 01:04:41 -03:00
void setVerb(obelisk::Verb verb);
2022-11-26 00:32:06 -03:00
void selectFact(sqlite3* dbConnection);
void insertFact(sqlite3* dbConnection);
2022-11-01 01:04:41 -03:00
};
} // namespace obelisk
#endif