CompleteDB Embedded: Direct C++ API  2.4.2
ColumnMetadata.hpp
Go to the documentation of this file.
1 #ifndef COMPLETEDB_COLUMNMETADATA_HPP
2 #define COMPLETEDB_COLUMNMETADATA_HPP
3 
4 #include "CompleteDb.h"
6 #include "completedb/Object.hpp"
9 
10 namespace completedb {
11 
18 : public virtual Object
19 , public ColumnInfo
20 , public ColumnMutator
21 {
22 
23  friend class AlterTable;
24  friend class CreateTable;
25  friend class TableMetadata;
26  friend class TableMutator;
27 
28 public: // override Object iface
29 
33  virtual bool cast(const Object& from) { return completedb_ColumnMetadata_cast(&m, from.get(), from.getClassType()); }
37  virtual bool isConnected() const { return completedb_ColumnMetadata_isConnected(m); }
41  virtual bool isDisconnected() const { return completedb_ColumnMetadata_isDisconnected(m); }
50 
51 public: // override ColumnInfo iface
52 
53  virtual bool exists() { return completedb_ColumnMetadata_exists(m); }
56  virtual uint32_t getLength() const { return completedb_ColumnMetadata_getLength(m); }
57 
58 public: // override ColumnMutator iface
59 
60  virtual void setLength(const uint32_t length) { completedb_ColumnMetadata_setLength(m, length); }
61  virtual void setType(const ColumnType::Enum columnType) { completedb_ColumnMetadata_setType(m, columnType); }
62 
63 public: // override EntityInfo iface
64 
68  virtual const char* getDescription() const { return completedb_ColumnMetadata_getDescription(m); }
69 
70 public: // override EntityMutator iface
71 
75  virtual void setDescription(const char* description) { completedb_ColumnMetadata_setDescription(m, description); }
76 
77 public: // override IdentityInfo iface
78 
82  virtual const char* getName() const { return completedb_ColumnMetadata_getName(m); }
83 
84 public: // override IdentityMutator iface
85 
89  virtual void setName(const char* name) { completedb_ColumnMetadata_setName(m, name); }
90 
91 public: // factory lvalue
92 
95 
96 public: // factory
97 
100 
101 private: // factory
102 
103  ColumnMetadata(void* src) : Object(src) {}
104 
105 };
106 
107 } // namespace
108 
109 #endif /* COMPLETEDB_COLUMNMETADATA_HPP */