ImagingTools Core SDK
Public Member Functions | List of all members
imtdb::ISqlDatabaseObjectDelegateabstract

#include <ISqlDatabaseObjectDelegate.h>

Inheritance diagram for imtdb::ISqlDatabaseObjectDelegate:
imtdb::IDatabaseObjectDelegate

Public Member Functions

virtual QByteArray GetObjectIdFromRecord (const QSqlRecord &record) const =0
 
virtual QByteArray GetObjectTypeIdFromRecord (const QSqlRecord &record) const =0
 
virtual bool CreateObjectInfoFromRecord (const QSqlRecord &record, idoc::MetaInfoPtr &objectMetaInfoPtr, idoc::MetaInfoPtr &collectionItemMetaInfoPtr) const =0
 
virtual istd::IChangeableUniquePtr CreateObjectFromRecord (const QSqlRecord &record, const iprm::IParamsSet *paramsPtr=nullptr) const =0
 
virtual QVariant GetElementInfoFromRecord (const QSqlRecord &record, const QByteArray &infoId) const =0
 
virtual QByteArray CreateUpdateMetaInfoQuery (const QSqlRecord &record) const =0
 
virtual QByteArray GetTableName () const =0
 
virtual QByteArray GetTableScheme () const =0
 
- Public Member Functions inherited from imtdb::IDatabaseObjectDelegate
virtual const iprm::IOptionsList * GetObjectTypeInfos () const =0
 Gets information about object types supported by this delegate.
 
virtual QByteArray GetObjectTypeId (const QByteArray &objectId) const =0
 Gets the type ID for a specific object.
 
virtual QByteArray GetCountQuery (const iprm::IParamsSet *paramsPtr=nullptr) const =0
 Generates SQL query to count objects in collection.
 
virtual QByteArray GetSelectionQuery (const QByteArray &objectId=QByteArray(), int offset=0, int count=-1, const iprm::IParamsSet *paramsPtr=nullptr) const =0
 Generates SQL SELECT query for retrieving objects.
 
virtual NewObjectQuery CreateNewObjectQuery (const QByteArray &typeId, const QByteArray &proposedObjectId, const QString &objectName, const QString &objectDescription, const istd::IChangeable *valuePtr, const imtbase::IOperationContext *operationContextPtr) const =0
 Creates SQL query for inserting a new object.
 
virtual QByteArray CreateDeleteObjectsQuery (const imtbase::IObjectCollection &collection, const imtbase::ICollectionInfo::Ids &objectIds, const imtbase::IOperationContext *operationContextPtr) const =0
 Creates SQL query for deleting objects.
 
virtual QByteArray CreateDeleteObjectSetQuery (const imtbase::IObjectCollection &collection, const iprm::IParamsSet *paramsPtr=nullptr, const imtbase::IOperationContext *operationContextPtr=nullptr) const =0
 Creates SQL query for deleting objects matching filter criteria.
 
virtual QByteArray CreateRestoreObjectsQuery (const imtbase::IObjectCollection &collection, const imtbase::ICollectionInfo::Ids &objectIds, const imtbase::IOperationContext *operationContextPtr=nullptr) const =0
 Creates SQL query for restoring soft-deleted objects.
 
virtual QByteArray CreateRestoreObjectSetQuery (const imtbase::IObjectCollection &collection, const iprm::IParamsSet *paramsPtr=nullptr, const imtbase::IOperationContext *operationContextPtr=nullptr) const =0
 Creates SQL query for restoring objects matching filter criteria.
 
virtual QByteArray CreateUpdateObjectQuery (const imtbase::IObjectCollection &collection, const QByteArray &objectId, const istd::IChangeable &object, const imtbase::IOperationContext *operationContextPtr, bool useExternDelegate=true) const =0
 Creates SQL query for updating an existing object.
 
virtual QByteArray CreateRenameObjectQuery (const imtbase::IObjectCollection &collection, const QByteArray &objectId, const QString &newObjectName, const imtbase::IOperationContext *operationContextPtr) const =0
 Creates SQL query for renaming an object.
 
virtual QByteArray CreateDescriptionObjectQuery (const imtbase::IObjectCollection &collection, const QByteArray &objectId, const QString &description, const imtbase::IOperationContext *operationContextPtr) const =0
 Creates SQL query for updating object description.
 
virtual QByteArray CreateResetQuery (const imtbase::IObjectCollection &collection) const =0
 Creates SQL query for clearing all objects from collection.
 
virtual QByteArray CreateDataMetaInfoQuery (const imtbase::IObjectCollection &collection, const QByteArray &objectId, const idoc::IDocumentMetaInfo *dataMetaInfoPtr) const =0
 Creates SQL query for updating object data metadata.
 
virtual QByteArray CreateCollectionItemMetaInfoQuery (const imtbase::IObjectCollection &collection, const QByteArray &objectId, const idoc::IDocumentMetaInfo *collectionItemMetaInfoPtr) const =0
 Creates SQL query for updating collection-related metadata.
 
virtual QByteArray GetSelectionByMetaInfoQuery (const QByteArray &metaInfoId, const QVariant &metaInfoValue) const =0
 Creates SQL query for finding objects by metadata field value.
 

Detailed Description

Common interface for a SQL-based database object delegate.

Definition at line 20 of file ISqlDatabaseObjectDelegate.h.

Member Function Documentation

◆ CreateObjectFromRecord()

virtual istd::IChangeableUniquePtr imtdb::ISqlDatabaseObjectDelegate::CreateObjectFromRecord ( const QSqlRecord &  record,
const iprm::IParamsSet *  paramsPtr = nullptr 
) const
pure virtual

Create a data object for the given SQL record.

◆ CreateObjectInfoFromRecord()

virtual bool imtdb::ISqlDatabaseObjectDelegate::CreateObjectInfoFromRecord ( const QSqlRecord &  record,
idoc::MetaInfoPtr &  objectMetaInfoPtr,
idoc::MetaInfoPtr &  collectionItemMetaInfoPtr 
) const
pure virtual

Create object meta-informations based on the SQL record.

◆ CreateUpdateMetaInfoQuery()

virtual QByteArray imtdb::ISqlDatabaseObjectDelegate::CreateUpdateMetaInfoQuery ( const QSqlRecord &  record) const
pure virtual

Create query for the updating the meta info by SQL record.

◆ GetElementInfoFromRecord()

virtual QVariant imtdb::ISqlDatabaseObjectDelegate::GetElementInfoFromRecord ( const QSqlRecord &  record,
const QByteArray &  infoId 
) const
pure virtual

Create object meta-information element based on the SQL record.

◆ GetObjectIdFromRecord()

virtual QByteArray imtdb::ISqlDatabaseObjectDelegate::GetObjectIdFromRecord ( const QSqlRecord &  record) const
pure virtual

Get ID of the object in the database from the SQL record.

◆ GetObjectTypeIdFromRecord()

virtual QByteArray imtdb::ISqlDatabaseObjectDelegate::GetObjectTypeIdFromRecord ( const QSqlRecord &  record) const
pure virtual

Get type-ID of the object in the database from the SQL record.

◆ GetTableName()

virtual QByteArray imtdb::ISqlDatabaseObjectDelegate::GetTableName ( ) const
pure virtual

Get name of the collection table in the SQL database.

◆ GetTableScheme()

virtual QByteArray imtdb::ISqlDatabaseObjectDelegate::GetTableScheme ( ) const
pure virtual

Get scheme of the collection table in the SQL database.