QxOrm 1.4.9
C++ Object Relational Mapping library
Loading...
Searching...
No Matches
IxDataMemberX.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 _IX_DATA_MEMBER_X_H_
33#define _IX_DATA_MEMBER_X_H_
34
35#ifdef _MSC_VER
36#pragma once
37#endif
38
47
48#include <QxDao/QxDaoStrategy.h>
49
51
52namespace qx {
53
54class IxClass;
55
61{
62
63private:
64
65 struct IxDataMemberXImpl;
66 std::unique_ptr<IxDataMemberXImpl> m_pImpl;
67
68protected:
69
71 virtual ~IxDataMemberX();
72
73public:
74
75 IxClass * getClass() const;
76 void setClass(IxClass * p);
77
78 QString getName() const;
79 const char * getNamePtr() const;
80 QString getDescription() const;
81 long getVersion() const;
83
84 long count() const;
85 long size() const;
86 bool exist(const QString & sKey) const;
87 IxDataMember * get(long l) const;
88 IxDataMember * get(const QString & s) const;
90
91 virtual long count_WithDaoStrategy() const = 0;
92 virtual bool exist_WithDaoStrategy(const QString & sKey) const = 0;
93 virtual IxDataMember * get_WithDaoStrategy(long lIndex) const = 0;
94 virtual IxDataMember * get_WithDaoStrategy(const QString & sKey) const = 0;
95 virtual IxDataMember * getId_WithDaoStrategy() const = 0;
96
97protected:
98
104
105};
106
107typedef std::shared_ptr<IxDataMemberX> IxDataMemberX_ptr;
108
109} // namespace qx
110
111#endif // _IX_DATA_MEMBER_X_H_
Common interface for all class properties registered into QxOrm context.
QxOrm thread-safe container (keep insertion order + quick access by index + quick access by key)
Class inheritance strategy and database (Concrete Table Inheritance is the default strategy used by Q...
#define QX_DLL_EXPORT
Definition QxMacro.h:182
qx::IxClass : common interface for all classes registered into QxOrm context
Definition IxClass.h:69
qx::IxDataMember : common interface for all class properties registered into QxOrm context
qx::IxDataMemberX : common interface for a list of IxDataMember class properties registered into QxOr...
const char * getNamePtr() const
long getVersion() const
virtual long count_WithDaoStrategy() const =0
void setClass(IxClass *p)
std::unique_ptr< IxDataMemberXImpl > m_pImpl
Private implementation idiom.
IxDataMember * get(const QString &s) const
const QxCollection< QString, IxDataMember * > & getListPImplRef() const
QString getDescription() const
long count() const
bool exist(const QString &sKey) const
qx::dao::strategy::inheritance getDaoStrategy() const
virtual IxDataMember * getId_WithDaoStrategy() const =0
QString getName() const
virtual bool exist_WithDaoStrategy(const QString &sKey) const =0
QxCollection< QString, IxDataMember * > & getListPImplRef()
IxDataMember * getId() const
virtual IxDataMember * get_WithDaoStrategy(const QString &sKey) const =0
virtual ~IxDataMemberX()
IxDataMember * get(long l) const
QxCollection< QString, IxDataMember * > & getListDataMemberRef()
const QxCollection< QString, IxDataMember * > & getListDataMemberRef() const
long size() const
virtual IxDataMember * get_WithDaoStrategy(long lIndex) const =0
IxClass * getClass() const
void setId(IxDataMember *p)
qx::QxCollection<Key, Value> : QxOrm thread-safe container (keep insertion order + quick access by in...
Root namespace for all QxOrm library features.
std::shared_ptr< IxDataMemberX > IxDataMemberX_ptr