#include <Record.hpp>
Inheritance diagram for openstudio::project::Record:Public Member Functions | |
| std::vector< ObjectRecord > | children () const |
| Returns all child Records in the database. More... | |
| bool | connect (const std::string &signal, const QObject *qObject, const std::string &slot, Qt::ConnectionType type=Qt::AutoConnection) const |
| Connect signal from this Records implementation object to slot on qObject. More... | |
| std::string | databaseTableName () const |
| Returns the name of the database table. More... | |
| std::vector< JoinRecord > | joinRecords () const |
| Returns all join Records in the database. More... | |
| void | moveToThread (QThread *targetThread) |
| Move the implementation object to target thread. More... | |
| ProjectDatabase | projectDatabase () const |
| Returns the ProjectDatabase, will throw if ProjectDatabase has been destructed. More... | |
| std::vector< ObjectRecord > | resources () const |
| Returns all resource Records in the database. More... | |
| unsigned | useCount () const |
| Returns number of shared references to this Records implementation object. More... | |
Getters | |
| int | id () const |
| Returns the id. More... | |
| UUID | handle () const |
| Returns the handle. More... | |
Template Methods | |
| template<typename T > | |
| T | cast () const |
| Cast to Record of type T, can throw std::bad_cast. More... | |
| template<typename T > | |
| boost::optional< T > | optionalCast () const |
| Cast to optional Record of type T. More... | |
Protected Member Functions | |
| void | bindValues (QSqlQuery &query) const |
| Bind values to a query for saving. More... | |
| bool | compareValues (const QSqlQuery &query) const |
| Checks that values (except id) are same as query. More... | |
| bool | databaseCompare (const ProjectDatabase &projectDatabase) const |
| Compares just this Record to the one in the database and check if they are exactly equal except for id, does not check children. More... | |
| boost::optional< int > | findIdByHandle () const |
| Try to find this Record's id in the database by using its handle. More... | |
| bool | haveLastValues () const |
| Checks if last values are set for this Record to revert back to. More... | |
| void | insertRow (ProjectDatabase &projectDatabase) |
| Inserts a row in the database for this Record and sets id. More... | |
| void | insertRow (const std::shared_ptr< QSqlDatabase > &db) |
| Inserts a row in the database for this Record and sets id. More... | |
| void | makeDeleteByHandleQuery (QSqlQuery &query) const |
| Makes a query to delete Record with this handle from this Record's database table. More... | |
| void | makeDeleteByIdQuery (QSqlQuery &query) const |
| Makes a query to delete Record with this id from this Record's database table. More... | |
| void | makeSelectAllQuery (QSqlQuery &query) const |
| Makes a query to select all Records in this Record's database table. More... | |
| void | makeSelectByHandleQuery (QSqlQuery &query) const |
| Makes a query to select Record with this handle in this Record's database table. More... | |
| void | makeSelectByIdQuery (QSqlQuery &query) const |
| Makes a query to select Record with this id in this Record's database table. More... | |
| void | onChange () |
| Method called whenever the Record changes, emits onChange signal. More... | |
| void | removeRow (ProjectDatabase &projectDatabase) |
| Removes just this Record from the database, does not remove children. More... | |
| void | removeRow (const std::shared_ptr< QSqlDatabase > &db) |
| Removes just this Record from the database, does not remove children. More... | |
| bool | revertRow (ProjectDatabase &projectDatabase) |
| Reverts just this Record then saves it in the database, does not revert children. More... | |
| void | revertToLastValues () |
| Revert values back to last state. More... | |
| void | saveLastValues () |
| Saves current values as last state. More... | |
| void | saveRow (ProjectDatabase &projectDatabase) |
| Saves just this Record in the database, does not save children. More... | |
| void | saveRow (const std::shared_ptr< QSqlDatabase > &db) |
| Saves just this Record in the database, does not save children. More... | |
| void | setLastValues (const QSqlQuery &query, ProjectDatabase &projectDatabase) |
| Set the last state of this object from the query (including id). More... | |
| void | setLastValues (ProjectDatabase &projectDatabase) |
| Sets the last state of just this Record from the database (including id), does not affect children. More... | |
Constructors and Destructors | |
| virtual | ~Record () |
| Record (std::shared_ptr< detail::Record_Impl > impl, ProjectDatabase projectDatabase) | |
| Constructs a new Record. More... | |
| Record (std::shared_ptr< detail::Record_Impl > impl) | |
| Constructs a new Record but does not create or save to a row in the database, use with caution. More... | |
Record is the base class for saving and retrieving objects in a ProjectDatabase.
|
inlinevirtual |
|
protected |
|
protected |
Constructs a new Record but does not create or save to a row in the database, use with caution.
|
protected |
Bind values to a query for saving.
|
inline |
Cast to Record of type T, can throw std::bad_cast.
| std::vector<ObjectRecord> openstudio::project::Record::children | ( | ) | const |
Returns all child Records in the database.
Note, will not find child Records which have been removed.
|
protected |
Checks that values (except id) are same as query.
| bool openstudio::project::Record::connect | ( | const std::string & | signal, |
| const QObject * | qObject, | ||
| const std::string & | slot, | ||
| Qt::ConnectionType | type = Qt::AutoConnection |
||
| ) | const |
Connect signal from this Records implementation object to slot on qObject.
|
protected |
Compares just this Record to the one in the database and check if they are exactly equal except for id, does not check children.
| std::string openstudio::project::Record::databaseTableName | ( | ) | const |
Returns the name of the database table.
|
protected |
Try to find this Record's id in the database by using its handle.
| UUID openstudio::project::Record::handle | ( | ) | const |
Returns the handle.
|
protected |
Checks if last values are set for this Record to revert back to.
| int openstudio::project::Record::id | ( | ) | const |
Returns the id.
|
protected |
Inserts a row in the database for this Record and sets id.
|
protected |
Inserts a row in the database for this Record and sets id.
| std::vector<JoinRecord> openstudio::project::Record::joinRecords | ( | ) | const |
Returns all join Records in the database.
Note, will not find join Records which have been removed.
|
protected |
|
protected |
|
protected |
Makes a query to select all Records in this Record's database table.
|
protected |
|
protected |
| void openstudio::project::Record::moveToThread | ( | QThread * | targetThread | ) |
Move the implementation object to target thread.
|
protected |
Method called whenever the Record changes, emits onChange signal.
|
inline |
Cast to optional Record of type T.
| ProjectDatabase openstudio::project::Record::projectDatabase | ( | ) | const |
Returns the ProjectDatabase, will throw if ProjectDatabase has been destructed.
|
protected |
Removes just this Record from the database, does not remove children.
|
protected |
Removes just this Record from the database, does not remove children.
| std::vector<ObjectRecord> openstudio::project::Record::resources | ( | ) | const |
Returns all resource Records in the database.
Note, will not find resource Records which have been removed.
|
protected |
Reverts just this Record then saves it in the database, does not revert children.
|
protected |
Revert values back to last state.
|
protected |
Saves current values as last state.
|
protected |
Saves just this Record in the database, does not save children.
|
protected |
Saves just this Record in the database, does not save children.
|
protected |
Set the last state of this object from the query (including id).
|
protected |
Sets the last state of just this Record from the database (including id), does not affect children.
| unsigned openstudio::project::Record::useCount | ( | ) | const |
Returns number of shared references to this Records implementation object.