Heart 1.3.842.34c2ab5
Heart is base back end library for your c++ Qt projects.
QH::PKG::DBObjectsRequestWithStream< T > Class Template Referencefinal

The DBObjectsRequestWithStream class is template class some as DBObjectsRequest but with implementation for the StreamBase::fromStream and StreamBase::toStream methods. More...

#include <dbobjectsrequestwithStream.h>

Inheritance diagram for QH::PKG::DBObjectsRequestWithStream< T >:
Inheritance graph
Collaboration diagram for QH::PKG::DBObjectsRequestWithStream< T >:
Collaboration graph

Public Member Functions

 DBObjectsRequestWithStream (const Package &pkkg)
 DBObjectsRequest This is default constructor for parsing packages.
 
 DBObjectsRequestWithStream (const QString &table, const QString &conditions="")
 DBObjectsRequest This contsrucor create a object with request the array of T objects.
 
- Public Member Functions inherited from QH::PKG::DBObjectsRequest< T >
 DBObjectsRequest (const Package &pkkg)
 DBObjectsRequest This is default constructor for parsing packages.
 
 DBObjectsRequest (const QString &table, const QString &conditions="", const QVariantMap &valuesToBind={})
 DBObjectsRequest This contsrucor create a object with request the array of T objects.
 
void clear () override
 clear This method clear all data of database object. Override This method for remove or reset your own members of class.
 
bool fromSqlRecord (const QSqlRecord &q) override
 fromSqlRecord This method should be initialize this object from the executed sqlRecord. The Default implementation get general dbObject information ( id and table name ). Override This method for initialize this object from sql query.
 
bool isValid () const override
 isValid This method check current object to valid.
 
const QList< QSharedPointer< T > > & data () const
 data This method return a list of getted objects.
 
DBVariantMap variantMap () const override
 variantMap This method should be create a DBVariantMap implementation of this database object.
 
void setConditions (const QString &newConditions)
 setConditions This method sets condition value for request.
 
- Public Member Functions inherited from QH::PKG::DBObjectSet
 DBObjectSet (const QString table)
 
PrepareResult prepareInsertQuery (QSqlQuery &q, bool replace) const override final
 prepareInsertQuery This method should be prepare a query for insert object into database. You need to create a own insert sql query for this object into database. Override this method for insert item into database. By Default This method prepare a insert query using the data that returned from the variantMap method.
 
PrepareResult prepareRemoveQuery (QSqlQuery &q) const override final
 prepareRemoveQuery This method should be prepare a query for remove this object from a database. Override this method for remove this item from database. The default implementation remove item from id or primaryKey for more information see DBObject::condition method.
 
PrepareResult prepareSelectQuery (QSqlQuery &q) const override final
 prepareSelectQuery This method should be prepare a query for selected data. Override this method for get item from database. The default implementation generate default select:
 
PrepareResult prepareUpdateQuery (QSqlQuery &q) const override final
 prepareUpdateQuery this method should be prepare a insert data query.
 
bool isCached () const override final
 isCached This method sholud be return status of object. If this method return true then this object can be saved into cache of database. Override this method and set this value to false for composite objects (objects for which a select query can return several objects or an object that does not have a direct representation in the database but contains common characteristics of several objects).
 
bool isBundle () const override final
 isBundle This method definef determines whether the object will be abstract (composite objects) or single object If this function return true then SqlDBWriter create only one object after invoked selectquery. And if the selectquery function return a list of more 1 elements then a method fromSqlRecord must be invoked for each all elements of list.
 
QString primaryKey () const override
 primaryKey This method must be return the name of primary key of this object table. If you want to create data object without primary key just return empty string.
 
QString table () const override
 table This method should be return name of the database table that should be contains objects with this type.
 
- Public Member Functions inherited from QH::PKG::DBObject
 DBObject ()
 
 ~DBObject () override
 
bool isHaveAPrimaryKey () const
 isHaveAPrimaryKey This method return true if this object has a primary key. If you want to cache this database object then primary key must be not null.
 
DbAddress dbAddress () const
 dbAddress This method return address of the database object. IF the object is not valid then this method return an invalid database address.
 
QString toString () const override
 
- Public Member Functions inherited from QH::PKG::AbstractData
 ~AbstractData () override
 
virtual unsigned short cmd () const =0
 cmd - This is command of this object, (for generate cmd use macross QH_PACKAGE)
 
virtual QString cmdString () const =0
 cmdString - This is command string of this object, (for generate cmd use macross QH_PACKAGE)
 
virtual bool toPackage (Package &package, const DistVersion &reqVersion, unsigned int triggerHash=0) const
 toPackage This method convert this class object to the package. For more info see Package class.
 
QString toString () const override
 toString - Return a string implementation for this object.
 
template<class C , class... Args>
C * create (Args &&... args) const
 create - This is factory method for create a new object.
 
void fromPakcage (const Package &pkg)
 fromPakcage - This method initialize the current object from a package class object.
 
- Public Member Functions inherited from QH::StreamBase
 StreamBase ()
 
virtual ~StreamBase ()
 
bool fromBytes (const QByteArray &data)
 fromBytes This method provide initialization of object from byte array.
 
QByteArray toBytes () const
 toBytes This method convert a current object to bytes array.
 
bool fromBase64 (const QString &data)
 fromBase64 This method provide initialization of object from the base64 string.
 
bool fromBase64 (const QByteArray &data)
 fromBase64 This method provide initialization of object from the base64 string.
 
QByteArray toBase64 () const
 toBase64 This method convert a current object to the base64 string.
 
template<class T >
T & copy (const StreamBase &right)
 copy This is base copy method for all StreamBase structures. Default implementation it is copy from byteArray.
 
template<class T >
bool compare (const T &right)
 compare This method compare array signatures of this and right objects.
 

Protected Member Functions

QDataStream & fromStream (QDataStream &stream) override
 fromStream This method should be read all bytes from the stream object and full the current object.
 
QDataStream & toStream (QDataStream &stream) const override
 fromStream This method should be write all members of the current object to the stream object.
 
- Protected Member Functions inherited from QH::PKG::DBObjectsRequest< T >
std::pair< QString, QMap< QString, QVariant > > condition () const override
 condition This method must to return a condition of the WHERE block of the sql query. This method using on default implementation of DBObject::prepareSelectQuery and DBObject::prepareRemoveQuery methods. The default implementation generate when block by map for more information see the variantMap nethod. Override this method for customize your select or delete query.
 
DBObjectcreateDBObject () const override
 createDBObject This method should be create a object with the some type as the object called this method. Example of override:
 
- Protected Member Functions inherited from QH::PKG::DBObject
virtual QVariant primaryValue () const
 primaryValue This method is wraper of DBAddress::id. If This object do not contains a id value then return invalid value.
 
bool isInsertPrimaryKey () const
 isInsertPrimaryKey This method check primaryKeys type. If the primary key have a type MemberType::Insert then return true.
 
- Protected Member Functions inherited from QH::PKG::AbstractData
 AbstractData ()
 AbstractData - Base constructor of this object.
 
- Protected Member Functions inherited from QH::StreamBase
virtual int parsingVersion () const
 parsingVersion this method return parsing version of Qt. By Default is 0 (last available parsing). see https://doc.qt.io/qt-6/qdatastream.html#Version-enum
 
virtual unsigned int typeId () const
 typeId This method return id of type.
 

Additional Inherited Members

- Static Public Member Functions inherited from QH::PKG::AbstractData
static unsigned int command ()
 command This static method that return glaball code of this object.
 
static QString commandText ()
 commandText This method return text of package command
 
- Protected Attributes inherited from QH::PKG::DBObjectsRequest< T >
QList< QSharedPointer< T > > _data
 

Detailed Description

template<class T>
class QH::PKG::DBObjectsRequestWithStream< T >

The DBObjectsRequestWithStream class is template class some as DBObjectsRequest but with implementation for the StreamBase::fromStream and StreamBase::toStream methods.

See also
DBObjectsRequest
DBObjectSet

Definition at line 26 of file dbobjectsrequestwithStream.h.

Constructor & Destructor Documentation

◆ DBObjectsRequestWithStream() [1/2]

template<class T >
QH::PKG::DBObjectsRequestWithStream< T >::DBObjectsRequestWithStream ( const Package pkkg)
inline

DBObjectsRequest This is default constructor for parsing packages.

Parameters
pkkgThis is package.

Definition at line 34 of file dbobjectsrequestwithStream.h.

◆ DBObjectsRequestWithStream() [2/2]

template<class T >
QH::PKG::DBObjectsRequestWithStream< T >::DBObjectsRequestWithStream ( const QString &  table,
const QString &  conditions = "" 
)
inline

DBObjectsRequest This contsrucor create a object with request the array of T objects.

Note
If you want to get all elements from table then skip conditions argument or set it to empty string value.
Parameters
tableThis is name of database table.
conditionsThis is string with conditions for create sql query. If you want to get all elemts just ignore this argument.
See also
DBObjectsRequest::setConditions

Definition at line 43 of file dbobjectsrequestwithStream.h.

Member Function Documentation

◆ fromStream()

template<class T >
QDataStream & QH::PKG::DBObjectsRequestWithStream< T >::fromStream ( QDataStream &  stream)
inlineoverrideprotectedvirtual

fromStream This method should be read all bytes from the stream object and full the current object.

Note
The implementation of this method should be invoke a method of base class.
Parameters
streamThis is Qt stream object.
Returns
Qt stream object.

Examle of base simple implementation:

QDataStream &ExampleClass::fromStream(QDataStream &stream) const {
stream >> exampleMember;
return stream;
}
virtual QDataStream & toStream(QDataStream &stream) const =0
fromStream This method should be write all members of the current object to the stream object.

Reimplemented from QH::PKG::DBObjectsRequest< T >.

Definition at line 49 of file dbobjectsrequestwithStream.h.

Here is the call graph for this function:

◆ toStream()

template<class T >
QDataStream & QH::PKG::DBObjectsRequestWithStream< T >::toStream ( QDataStream &  stream) const
inlineoverrideprotectedvirtual

fromStream This method should be write all members of the current object to the stream object.

Note
The implementation of this method should be invoke a method of base class.
Parameters
streamThis is Qt stream object.
Returns
Qt stream object.

Examle of base simple implementation:

QDataStream &ExampleClass::toStream(QDataStream &stream) const {
stream << exampleMember;
return stream;
}

Reimplemented from QH::PKG::DBObjectsRequest< T >.

Definition at line 66 of file dbobjectsrequestwithStream.h.

Here is the call graph for this function:

The documentation for this class was generated from the following file: