#include <JoinRecord.hpp>
Public Member Functions | |
UUID | leftHandle () const |
get the left handle More... | |
int | leftId () const |
get the left id More... | |
ObjectRecord | leftObject () const |
get the left object More... | |
UUID | rightHandle () const |
get the right handle More... | |
int | rightId () const |
get the right id More... | |
ObjectRecord | rightObject () const |
get the right object More... | |
virtual | ~JoinRecord () |
Public Member Functions inherited from openstudio::project::Record | |
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... | |
int | id () const |
Returns the id. More... | |
UUID | handle () const |
Returns the handle. More... | |
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... | |
virtual | ~Record () |
Static Public Member Functions | |
static void | createIndices (QSqlDatabase &qSqlDatabase, const std::string &databaseTableName) |
template<typename T > | |
static boost::optional< T > | getJoinRecord (int leftId, int rightId, ProjectDatabase projectDatabase) |
get join More... | |
template<typename T > | |
static std::vector< T > | getJoinRecordsForLeftId (int leftId, ProjectDatabase projectDatabase) |
get joins for left More... | |
template<typename T > | |
static std::vector< T > | getJoinRecordsForRightId (int rightId, ProjectDatabase projectDatabase) |
get joins for right More... | |
template<typename T > | |
static bool | unlink (int leftId, int rightId, ProjectDatabase projectDatabase) |
unlink More... | |
template<typename T > | |
static bool | unlinkLeft (int leftId, ProjectDatabase projectDatabase) |
unlink left More... | |
template<typename T > | |
static bool | unlinkRight (int rightId, ProjectDatabase projectDatabase) |
unlink right More... | |
Protected Types | |
typedef detail::JoinRecord_Impl | ImplType |
Protected Member Functions | |
JoinRecord (std::shared_ptr< detail::JoinRecord_Impl > impl, ProjectDatabase projectDatabase) | |
constructor More... | |
JoinRecord (std::shared_ptr< detail::JoinRecord_Impl > impl) | |
constructor More... | |
Protected Member Functions inherited from openstudio::project::Record | |
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... | |
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... | |
Related Functions | |
(Note that these are not member functions.) | |
typedef std::vector< JoinRecord > | JoinRecordVector |
typedef boost::optional < JoinRecord > | OptionalJoinRecord |
JoinRecord is the base class for join objects that can be saved to a ProjectDatabase.
JoinRecords are named (LeftClass)_(RightClass)_JoinRecord, e.g. Variable_ParameterSpace_JoinRecord.
|
protected |
|
inlinevirtual |
|
protected |
constructor
|
protected |
constructor
|
static |
|
inlinestatic |
get join
|
inlinestatic |
get joins for left
|
inlinestatic |
get joins for right
UUID openstudio::project::JoinRecord::leftHandle | ( | ) | const |
get the left handle
int openstudio::project::JoinRecord::leftId | ( | ) | const |
get the left id
ObjectRecord openstudio::project::JoinRecord::leftObject | ( | ) | const |
get the left object
UUID openstudio::project::JoinRecord::rightHandle | ( | ) | const |
get the right handle
int openstudio::project::JoinRecord::rightId | ( | ) | const |
get the right id
ObjectRecord openstudio::project::JoinRecord::rightObject | ( | ) | const |
get the right object
|
inlinestatic |
unlink
|
inlinestatic |
unlink left
|
inlinestatic |
unlink right
|
related |
|
related |