QxOrm 1.4.9
C++ Object Relational Mapping library
Loading...
Searching...
No Matches
QxSoftDelete.h
Go to the documentation of this file.
1/****************************************************************************
2**
3** https://www.qxorm.com/
4** Copyright (C) 2013 Lionel Marty (contact@qxorm.com)
5**
6** This file is part of the QxOrm library
7**
8** This software is provided 'as-is', without any express or implied
9** warranty. In no event will the authors be held liable for any
10** damages arising from the use of this software
11**
12** Commercial Usage
13** Licensees holding valid commercial QxOrm licenses may use this file in
14** accordance with the commercial license agreement provided with the
15** Software or, alternatively, in accordance with the terms contained in
16** a written agreement between you and Lionel Marty
17**
18** GNU General Public License Usage
19** Alternatively, this file may be used under the terms of the GNU
20** General Public License version 3.0 as published by the Free Software
21** Foundation and appearing in the file 'license.gpl3.txt' included in the
22** packaging of this file. Please review the following information to
23** ensure the GNU General Public License version 3.0 requirements will be
24** met : http://www.gnu.org/copyleft/gpl.html
25**
26** If you are unsure which license is appropriate for your use, or
27** if you have questions regarding the use of this file, please contact :
28** contact@qxorm.com
29**
30****************************************************************************/
31
32#ifndef _QX_SOFT_DELETE_H_
33#define _QX_SOFT_DELETE_H_
34
35#ifdef _MSC_VER
36#pragma once
37#endif
38
46#define QX_DAO_SOFT_DELETE_QDATETIME_FORMAT "yyyyMMddhhmmsszzz"
47
48namespace qx {
49
97{
98
99public:
100
101 enum mode { mode_flag, mode_date_time };
102
103private:
104
105 QString m_sTable;
106 QString m_sColumn;
112
113public:
114
116 QxSoftDelete(const QString & sColumn);
117 QxSoftDelete(const QString & sColumn, mode eMode);
119
120 QString getTableName() const;
121 QString getColumnName() const;
122 QString getSqlQueryToFetch() const;
123 QString getSqlQueryToUpdate() const;
125 mode getMode() const;
126 bool getSqlFetchInJoin() const;
127
128 void setTableName(const QString & sTable);
129 void setColumnName(const QString & sColumn);
130 void setSqlQueryToFetch(const QString & s);
131 void setSqlQueryToUpdate(const QString & s);
132 void setSqlQueryToCreateTable(const QString & s);
133 void setMode(mode eMode);
134 void setSqlFetchInJoin(bool b);
135
136 bool isEmpty() const;
137
138 QString buildSqlTablePointName(const QString & sTable = QString()) const;
139 QString buildSqlQueryToFetch(const QString & sTable = QString()) const;
140 QString buildSqlQueryToUpdate() const;
142
143};
144
145} // namespace qx
146
147#endif // _QX_SOFT_DELETE_H_
#define QX_DLL_EXPORT
Definition QxMacro.h:182
qx::QxSoftDelete : soft delete (or logical delete) behavior to update a row into database (flag it as...
QString getColumnName() const
bool getSqlFetchInJoin() const
QString buildSqlTablePointName(const QString &sTable=QString()) const
QString getSqlQueryToUpdate() const
bool m_bFetchInJoin
Add SQL condition to fetch in the JOIN part (default value), for backward compatibility with previous...
QString getTableName() const
QString m_sTable
Table name where soft delete behavior is applied.
QString m_sSqlQueryToFetch
Overrided user SQL query to fetch an item, if empty QxOrm library builds a default SQL query.
mode m_eMode
Soft delete mode : 'mode_flag' with a boolean column, 'mode_date_time' with a date-time column contai...
QString getSqlQueryToFetch() const
void setTableName(const QString &sTable)
void setSqlQueryToUpdate(const QString &s)
QxSoftDelete(const QString &sColumn)
void setSqlQueryToFetch(const QString &s)
QString getSqlQueryToCreateTable() const
void setColumnName(const QString &sColumn)
QString m_sColumn
Column name to store soft delete information.
bool isEmpty() const
void setSqlFetchInJoin(bool b)
void setSqlQueryToCreateTable(const QString &s)
QxSoftDelete(const QString &sColumn, mode eMode)
QString buildSqlQueryToFetch(const QString &sTable=QString()) const
void setMode(mode eMode)
QString m_sSqlQueryToUpdate
Overrided user SQL query to update an item, if empty QxOrm library builds a default SQL query.
mode getMode() const
QString buildSqlQueryToUpdate() const
QString m_sSqlQueryToCreateTable
Overrided user SQL query to create table, if empty QxOrm library builds a default SQL query.
QString buildSqlQueryToCreateTable() const
Root namespace for all QxOrm library features.