Wtx ~ Wt Extension Library
WtxLib
LookupItemTpl.h
1 /**************************************************************************
2 ###########################################################################
3 ##
4 ## $SHOWOFFDB_BEGIN_LICENSE$
5 ## Copyright (C) 2011 Lorimark Solutions, LLC and/or its subsidiary(-ies).
6 ## All rights reserved.
7 ## Contact: Lorimark Solutions, LLC (info@showoff-db.org)
8 ##
9 ## This file is part of the Showoff Database Application Framework.
10 ##
11 ## Commercial Usage
12 ## Licensees holding valid ShowoffDB Commercial licenses may use this file in
13 ## accordance with the ShowoffDB Commercial License Agreement provided with the
14 ## Software or, alternatively, in accordance with the terms contained in
15 ## a written agreement between you and Lorimark Solutions, LLC.
16 ##
17 ## GNU Lesser General Public License Usage
18 ## Alternatively, this file may be used under the terms of the GNU Lesser
19 ## General Public License version 2.1 as published by the Free Software
20 ## Foundation and appearing in the file LICENSE.LGPL included in the
21 ## packaging of this file. Please review the following information to
22 ## ensure the GNU Lesser General Public License version 2.1 requirements
23 ## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 ##
25 ## In addition, as a special exception, Lorimark Solutions, LLC gives
26 ## you certain additional rights. These rights are described in the
27 ## Lorimark Solutions, LLC ShowoffDB LGPL Exception version 1.0, included in
28 ## the file LGPL_EXCEPTION.txt in this package.
29 ##
30 ## GNU General Public License Usage
31 ## Alternatively, this file may be used under the terms of the GNU
32 ## General Public License version 3.0 as published by the Free Software
33 ## Foundation and appearing in the file LICENSE.GPL included in the
34 ## packaging of this file. Please review the following information to
35 ## ensure the GNU General Public License version 3.0 requirements will be
36 ## met: http://www.gnu.org/copyleft/gpl.html.
37 ##
38 ## If you have questions regarding the use of this file, please contact
39 ## Lorimark Solutions, LLC at info@showoff-db.org.
40 ## $SHOWOFFDB_END_LICENSE$
41 ##
42 #############################################################################
43 ****************************************************************************/
44 
45 
46 #ifndef __WTX_DBO_LOOKUPITEMTPL_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
47 #define __WTX_DBO_LOOKUPITEMTPL_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
48 
49 #include "LookupTableDef.h"
50 #include "BaseItemTpl.h"
51 
52 namespace Wtx {
53  namespace Dbo {
54 
55 template <class C> class LookupItemTpl
56 : public BaseItemTpl<C>
57 {
58  public:
59 
61  : BaseItemTpl<C>()
62  {
63  }
64 
65  LookupItemTpl( const std::string & key )
66  : BaseItemTpl<C>( key )
67  {
68  }
69 
70  LookupItemTpl( const std::string & key, const std::string cfy )
71  : BaseItemTpl<C>( key, cfy )
72  {
73  }
74 
75  virtual ~LookupItemTpl()
76  {
77  }
78 
79  static LookupTableDef & TableDef()
80  {
81  return C::TableDef();
82  }
83 
84  const Wtx::Dbo::Field<std::string> & description() const { return m_description; }
85  Wtx::Dbo::Field<std::string> & description() { return m_description; }
86 
87  Wtx::Dbo::Field<std::string> & v1() { return m_v1; }
88  const Wtx::Dbo::Field<std::string> & v1() const { return m_v1; }
89  Wtx::Dbo::Field<std::string> & v2() { return m_v2; }
90  const Wtx::Dbo::Field<std::string> & v2() const { return m_v2; }
91  Wtx::Dbo::Field<std::string> & v3() { return m_v3; }
92  const Wtx::Dbo::Field<std::string> & v3() const { return m_v3; }
93 
94  template<class Action> void persist( Action & a )
95  {
97  m_description.persist( a, &TableDef().DescriptionFieldDef );
98  m_v1.persist( a, &TableDef().V1FieldDef );
99  m_v2.persist( a, &TableDef().V2FieldDef );
100  m_v3.persist( a, &TableDef().V3FieldDef );
101  }
102 
103  private:
104 
105  Wtx::Dbo::Field<std::string> m_description;
109 
110 }; // endtemplate <class C> class LookupItemTpl
111 
112  } // endnamespace Dbo
113 } // endnamespace Wtx
114 
115 
116 #endif
117 
118 
Table Definition.
Definition: TableDef.h:72
witty extension library
Definition: Activity.h:51