QxOrm 1.4.9
C++ Object Relational Mapping library
Loading...
Searching...
No Matches

Common interface (abstract class) for persistents classes using QX_PERSISTABLE_HPP() and QX_PERSISTABLE_CPP() macros. More...

Go to the source code of this file.

Classes

class  qx::IxPersistable
 qx::IxPersistable : common interface (abstract class) for persistents classes using QX_PERSISTABLE_HPP() and QX_PERSISTABLE_CPP() macros More...
 
struct  qx::trait::is_ix_persistable< T >
 qx::trait::is_ix_persistable<T>::value : return true if T implements qx::IxPersistable interface, otherwise return false More...
 

Namespaces

namespace  qx
 Root namespace for all QxOrm library features.
 
namespace  qx::trait
 QxOrm library traits (template metaprogramming) not available in boost::type_traits library.
 

Macros

#define QX_PERSISTABLE_JSON_HPP(className)
 
#define QX_PERSISTABLE_HPP(className)
 
#define QX_PERSISTABLE_CAST_COLLECTION(className)
 
#define QX_PERSISTABLE_JSON_CPP(className)
 
#define QX_PERSISTABLE_CPP(className)
 

Typedefs

typedef std::shared_ptr< qx::IxPersistableqx::IxPersistable_ptr
 

Detailed Description

Common interface (abstract class) for persistents classes using QX_PERSISTABLE_HPP() and QX_PERSISTABLE_CPP() macros.

Author
Lionel Marty

Definition in file IxPersistable.h.

Macro Definition Documentation

◆ QX_PERSISTABLE_CAST_COLLECTION

#define QX_PERSISTABLE_CAST_COLLECTION ( className)
Value:
if (! list) { return QSqlError(); } \
qx::QxCollection<Key, Value> : QxOrm thread-safe container (keep insertion order + quick access by in...
qx::QxPersistableCollection<Key, Value, T> : concrete class for collection persistent classes based o...

Definition at line 406 of file IxPersistable.h.

◆ QX_PERSISTABLE_CPP

#define QX_PERSISTABLE_CPP ( className)

Definition at line 421 of file IxPersistable.h.

◆ QX_PERSISTABLE_HPP

#define QX_PERSISTABLE_HPP ( className)
Value:
public: \
virtual long qxCount(const qx::QxSqlQuery & query = qx::QxSqlQuery(), QSqlDatabase * pDatabase = NULL, const QStringList & relation = QStringList()); \
virtual QSqlError qxCount(long & lCount, const qx::QxSqlQuery & query = qx::QxSqlQuery(), QSqlDatabase * pDatabase = NULL, const QStringList & relation = QStringList()); \
virtual QSqlError qxFetchById(const QVariant & id = QVariant(), const QStringList & columns = QStringList(), const QStringList & relation = QStringList(), QSqlDatabase * pDatabase = NULL); \
virtual QSqlError qxFetchAll(qx::IxPersistableCollection * list = NULL, const QStringList & columns = QStringList(), const QStringList & relation = QStringList(), QSqlDatabase * pDatabase = NULL); \
virtual QSqlError qxFetchByQuery(const qx::QxSqlQuery & query, qx::IxPersistableCollection * list = NULL, const QStringList & columns = QStringList(), const QStringList & relation = QStringList(), QSqlDatabase * pDatabase = NULL); \
virtual QSqlError qxInsert(const QStringList & relation = QStringList(), QSqlDatabase * pDatabase = NULL, bool bUseExecBatch = false); \
virtual QSqlError qxUpdate(const qx::QxSqlQuery & query = qx::QxSqlQuery(), const QStringList & columns = QStringList(), const QStringList & relation = QStringList(), QSqlDatabase * pDatabase = NULL, bool bUseExecBatch = false); \
virtual QSqlError qxSave(const QStringList & relation = QStringList(), QSqlDatabase * pDatabase = NULL, qx::dao::save_mode::e_save_mode eSaveRecursiveMode = qx::dao::save_mode::e_none); \
virtual QSqlError qxDeleteById(const QVariant & id = QVariant(), QSqlDatabase * pDatabase = NULL, bool bUseExecBatch = false); \
virtual QSqlError qxDeleteAll(QSqlDatabase * pDatabase = NULL); \
virtual QSqlError qxDeleteByQuery(const qx::QxSqlQuery & query, QSqlDatabase * pDatabase = NULL); \
virtual QSqlError qxDestroyById(const QVariant & id = QVariant(), QSqlDatabase * pDatabase = NULL, bool bUseExecBatch = false); \
virtual QSqlError qxDestroyAll(QSqlDatabase * pDatabase = NULL); \
virtual QSqlError qxDestroyByQuery(const qx::QxSqlQuery & query, QSqlDatabase * pDatabase = NULL); \
virtual QSqlError qxExecuteQuery(qx::QxSqlQuery & query, QSqlDatabase * pDatabase = NULL); \
virtual QSqlError qxExecuteQuery(qx::QxSqlQuery & query, qx::IxPersistableCollection * list = NULL, QSqlDatabase * pDatabase = NULL); \
virtual qx_bool qxExist(const QVariant & id = QVariant(), QSqlDatabase * pDatabase = NULL); \
virtual qx::QxInvalidValueX qxValidate(const QStringList & groups = QStringList()); \
virtual std::shared_ptr<qx::IxPersistableCollection> qxNewPersistableCollection(bool bAsList = false) const; \
virtual qx::IxClass * qxClass() const; \
QX_PERSISTABLE_JSON_HPP(className)
qx::IxClass : common interface for all classes registered into QxOrm context
Definition IxClass.h:69
qx::IxPersistableCollection : common interface (abstract class) for collection persistent classes bas...
qx_bool : boolean type with code and description message when an error occured
Definition QxBool.h:71
qx::QxInvalidValueX : list of invalid values
qx::QxSqlQuery : define a user SQL query added to default SQL query builded by QxOrm library,...
Definition QxSqlQuery.h:245

Definition at line 377 of file IxPersistable.h.

◆ QX_PERSISTABLE_JSON_CPP

#define QX_PERSISTABLE_JSON_CPP ( className)
Value:
QString className::toJson(const QString & format) const { return qx::serialization::json::to_string((* this), 1, format); } \
QJsonValue className::toJson_(const QString & format) const { return qx::cvt::to_json((* this), format); } \
qx_bool className::fromJson(const QString & json, const QString & format) { return qx::serialization::json::from_string((* this), json, 1, format); } \
qx_bool className::fromJson_(const QJsonValue & json, const QString & format) { return qx::cvt::from_json(json, (* this), format); }
qx_bool from_json(const QJsonValue &j, T &t, const QString &format=QString())
Definition QxConvert.h:84
QJsonValue to_json(const T &t, const QString &format=QString())
Definition QxConvert.h:83
QString to_string(const T &obj, unsigned int flags=1, const QString &format=QString())
qx_bool from_string(T &obj, const QString &sString, unsigned int flags=1, const QString &format=QString())

Definition at line 412 of file IxPersistable.h.

◆ QX_PERSISTABLE_JSON_HPP

#define QX_PERSISTABLE_JSON_HPP ( className)
Value:
virtual QString toJson(const QString & format = QString()) const; \
virtual QJsonValue toJson_(const QString & format = QString()) const; \
virtual qx_bool fromJson(const QString & json, const QString & format = QString()); \
virtual qx_bool fromJson_(const QJsonValue & json, const QString & format = QString());

Definition at line 368 of file IxPersistable.h.