NullTable.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef TABLES_NULLTABLE_H
00029 #define TABLES_NULLTABLE_H
00030
00031
00032
00033 #include <casacore/casa/aips.h>
00034 #include <casacore/tables/Tables/BaseTable.h>
00035
00036
00037 namespace casacore {
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067 class NullTable : public BaseTable
00068 {
00069 public:
00070
00071 NullTable();
00072
00073 virtual ~NullTable();
00074
00075
00076 virtual Bool isNull() const;
00077
00078
00079
00080 virtual void reopenRW();
00081 virtual Bool asBigEndian() const;
00082 virtual const StorageOption& storageOption() const;
00083 virtual Bool isMultiUsed (Bool checkSubTable) const;
00084 virtual const TableLock& lockOptions() const;
00085 virtual void mergeLock (const TableLock& lockOptions);
00086 virtual Bool hasLock (FileLocker::LockType) const;
00087 virtual Bool lock (FileLocker::LockType, uInt nattempts);
00088 virtual void unlock();
00089 virtual void flush (Bool fsync, Bool recursive);
00090 virtual void resync();
00091 virtual uInt getModifyCounter() const;
00092 virtual Bool isWritable() const;
00093 virtual void deepCopy (const String& newName,
00094 const Record& dataManagerInfo,
00095 const StorageOption&,
00096 int tableOption,
00097 Bool valueCopy,
00098 int endianFormat,
00099 Bool noRows) const;
00100 virtual TableDesc actualTableDesc() const;
00101 virtual Record dataManagerInfo() const;
00102 virtual TableRecord& keywordSet();
00103 virtual TableRecord& rwKeywordSet();
00104 virtual BaseColumn* getColumn (uInt columnIndex) const;
00105 virtual BaseColumn* getColumn (const String& columnName) const;
00106 virtual Bool canAddRow() const;
00107 virtual void addRow (uInt nrrow, Bool initialize);
00108 virtual Bool canRemoveRow() const;
00109 virtual void removeRow (uInt rownr);
00110 virtual DataManager* findDataManager (const String& name,
00111 Bool byColumn) const;
00112 virtual void addColumn (const ColumnDesc& columnDesc, Bool addToParent);
00113 virtual void addColumn (const ColumnDesc& columnDesc,
00114 const String& dataManager, Bool byName,
00115 Bool addToParent);
00116 virtual void addColumn (const ColumnDesc& columnDesc,
00117 const DataManager& dataManager, Bool addToParent);
00118 virtual void addColumn (const TableDesc& tableDesc,
00119 const DataManager& dataManager, Bool addToParent);
00120 virtual Bool canRemoveColumn (const Vector<String>& columnNames) const;
00121 virtual void removeColumn (const Vector<String>& columnNames);
00122 virtual Bool canRenameColumn (const String& columnName) const;
00123 virtual void renameColumn (const String& newName, const String& oldName);
00124 virtual void renameHypercolumn (const String& newName,
00125 const String& oldName);
00126 virtual Vector<uInt> rowNumbers() const;
00127 virtual BaseTable* root();
00128 virtual Bool rowOrder() const;
00129 virtual Vector<uInt>* rowStorage();
00130 virtual Bool adjustRownrs (uInt nrrow, Vector<uInt>& rownrs,
00131 Bool determineOrder) const;
00132 virtual BaseTable* doSort (PtrBlock<BaseColumn*>&,
00133 const Block<CountedPtr<BaseCompare> >&,
00134 const Block<Int>& sortOrder,
00135 int sortOption);
00136 virtual void renameSubTables (const String& newName,
00137 const String& oldName);
00138
00139
00140 private:
00141
00142
00143
00144 NullTable (const NullTable&);
00145
00146
00147
00148
00149 NullTable& operator= (const NullTable&);
00150
00151
00152 void throwError (const String& name) const;
00153 };
00154
00155
00156
00157
00158 }
00159
00160 #endif