obelisk/src/models/fact.h

73 lines
1.7 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_()
{
}
2022-12-13 17:35:14 -03:00
Fact(obelisk::Entity leftEntity, obelisk::Entity rightEntity, obelisk::Verb verb) :
2022-11-01 01:04:41 -03:00
id_(0),
leftEntity_(leftEntity),
rightEntity_(rightEntity),
verb_(verb)
{
}
2022-12-13 17:35:14 -03:00
Fact(int id, obelisk::Entity leftEntity, obelisk::Entity rightEntity, obelisk::Verb verb) :
2022-11-01 01:04:41 -03:00
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