6#include <imtdb/CSqlDatabaseDocumentDelegateComp.h>
7#include <imtbase/CTreeItemModel.h>
14class CSqlJsonDatabaseDelegateComp:
public imtdb::CSqlDatabaseDocumentDelegateComp
17 typedef imtdb::CSqlDatabaseDocumentDelegateComp BaseClass;
19 I_BEGIN_COMPONENT(CSqlJsonDatabaseDelegateComp)
20 I_ASSIGN(m_isMultiTypeAttrPtr,
"IsMultiType",
"Is document multitype supported",
true,
false);
24 virtual istd::IChangeableUniquePtr CreateObjectFromRecord(
25 const QSqlRecord& record,
26 const iprm::IParamsSet* paramsPtr =
nullptr)
const override;
27 virtual NewObjectQuery CreateNewObjectQuery(
28 const QByteArray& typeId,
29 const QByteArray& proposedObjectId,
30 const QString& objectName,
31 const QString& objectDescription,
32 const istd::IChangeable* valuePtr,
34 virtual QByteArray CreateDeleteObjectsQuery(
36 const imtbase::ICollectionInfo::Ids& objectIds,
38 virtual QByteArray CreateUpdateObjectQuery(
40 const QByteArray& objectId,
41 const istd::IChangeable&
object,
43 bool useExternDelegate =
true)
const override;
44 virtual QByteArray CreateDescriptionObjectQuery(
46 const QByteArray& objectId,
47 const QString& description,
49 virtual QByteArray GetCountQuery(
const iprm::IParamsSet* paramsPtr =
nullptr)
const override;
52 virtual QString GetBaseSelectionQuery()
const override;
53 virtual bool SetCollectionItemMetaInfoFromRecord(
const QSqlRecord& record, idoc::IDocumentMetaInfo& metaInfo)
const override;
54 virtual bool SetObjectMetaInfoFromRecord(
const QSqlRecord& record, idoc::IDocumentMetaInfo& metaInfo)
const override;
56 virtual bool CreateFilterQuery(
const iprm::IParamsSet& filterParams, QString& filterQuery)
const override;
57 virtual bool CreateObjectFilterQuery(
const iprm::IParamsSet& filterParams, QString& filterQuery)
const override;
58 virtual bool CreateTextFilterQuery(
const imtbase::ICollectionFilter& collectionFilter, QString& textFilterQuery)
const override;
59 virtual idoc::MetaInfoPtr CreateObjectMetaInfo(
const QByteArray& typeId)
const override;
60 virtual bool CreateTimeFilterQuery(
const imtbase::ITimeFilterParam& timeFilter, QString& timeFilterQuery,
const QString& timeFieldId = QStringLiteral(
"root1.\"TimeStamp\""))
const override;
61 virtual QByteArray GetObjectSelectionQuery(
const QByteArray& objectId,
const iprm::IParamsSet* paramsPtr =
nullptr)
const override;
64 virtual bool WriteDataToMemory(
const QByteArray& typeId,
const istd::IChangeable&
object, QByteArray& data)
const override;
65 virtual bool ReadDataFromMemory(
const QByteArray& typeId,
const QByteArray& data, istd::IChangeable&
object)
const override;
66 virtual bool TableExists(
const QString& tableName)
const;
67 virtual QByteArray CreateOperationDescriptionQuery(
const QByteArray& objectId,
const imtbase::IOperationContext* operationContextPtr)
const;
70 I_ATTR(
bool, m_isMultiTypeAttrPtr);
Database Abstraction Layer (ORM Framework) for ImtCore applications.