CompleteDB Embedded: Direct C++ API  2.4.2
TableMetadata.hpp
Go to the documentation of this file.
1 #ifndef COMPLETEDB_TABLEMETADATA_HPP
2 #define COMPLETEDB_TABLEMETADATA_HPP
3 
4 #include "CompleteDb.h"
6 #include "completedb/Object.hpp"
9 
10 namespace completedb {
11 
18 : public virtual Object
19 , public TableInfo
20 , public TableMutator
21 {
22 
23 public: // override Object iface
24 
28  virtual bool cast(const Object& from) { return completedb_TableMetadata_cast(&m, from.get(), from.getClassType()); }
32  virtual bool isConnected() const { return completedb_TableMetadata_isConnected(m); }
36  virtual bool isDisconnected() const { return completedb_TableMetadata_isDisconnected(m); }
45 
46 public: // override EntityInfo iface
47 
51  virtual const char* getDescription() const { return completedb_TableMetadata_getDescription(m); }
52 
53 public: // override EntityMutator iface
54 
58  virtual void setDescription(const char* description) { completedb_TableMetadata_setDescription(m, description); }
59 
60 public: // override IdentityInfo iface
61 
65  virtual const char* getName() const { return completedb_TableMetadata_getName(m); }
66 
67 public: // override IdentityMutator iface
68 
72  virtual void setName(const char* name) { completedb_TableMetadata_setName(m, name); }
73 
74 public: // override TableInfo iface
75 
79  virtual bool containsColumn(const char* name) { return completedb_TableMetadata_containsColumn(m, name); }
83  virtual bool containsColumn(const IdentityInfo& name) { return completedb_TableMetadata_containsColumn(m, name.getName()); }
87  virtual bool exists() { return completedb_TableMetadata_exists(m); }
92 
93 public: // override TableMutator iface
94 
98  virtual ColumnMetadata addColumn(const char* name, const ColumnType::Enum columnType = ColumnType::Int64) { return completedb_TableMetadata_addColumn(m, name, columnType); }
102  virtual ColumnMetadata addColumn(const IdentityInfo& name, const ColumnType::Enum columnType = ColumnType::Int64) { return completedb_TableMetadata_addColumn(m, name.getName(), columnType); }
107 
108 public: // factory lvalue
109 
112 
113 public: // factory
114 
117 
118 private: // factory
119 
120  TableMetadata(void* src) : Object(src) {}
121 
122 };
123 
124 } // namespace
125 
126 #endif /* COMPLETEDB_TABLEMETADATA_HPP */