MSTableImpl.h

Classes

MSTableImpl -- An implementation class for the MeasurementSet to share code. (full description)

class MSTableImpl

Interface

Public Members
static Int mapType(const SimpleOrderedMap<Int,String>& map, const String &name)
static void addColumnToDesc(TableDesc &td, const String& colName, Int colDType, const String& colComment, const String& colUnit, const String& colMeasure, Int ndim, const IPosition & shape, Int option, const String& refCol)
static void addKeyToDesc(TableDesc& td, const String& keyName, Int keyDType, const String& keyComment)
static void addMeasColumn(TableDesc &td, const String& colName, const String& colMeasure, const String& refCol)
static void addColumnCompression (TableDesc&, const String& colName, Bool autoScale, const String& type)
static SetupNewTable& setupCompression (SetupNewTable&)
static void colMapDef(SimpleOrderedMap<Int,String>& colMap, SimpleOrderedMap<Int,Int>& colDTypeMap, SimpleOrderedMap<Int,String>& colCommentMap, SimpleOrderedMap<Int,String>& colUnitMap, SimpleOrderedMap<Int,String>& colMeasureTypeMap, Int col, const String& colName, Int colType, const String& colComment, const String& colUnit, const String& colMeasureType)
static void keyMapDef(SimpleOrderedMap<Int,String>& keyMap, SimpleOrderedMap<Int,Int>& keyDTypeMap, SimpleOrderedMap<Int,String>& keyCommentMap, Int key, const String& keyName, Int keyType, const String& keyComment)
static Bool validate(const TableDesc& tabDesc, const TableDesc& requiredTD)
static Bool validate(const TableRecord& tabRec, const TableDesc& requiredTD)
static Table referenceCopy(const Table& tab, const String& newTableName, const Block<String>& writableColumns)
static void init()

Description

Review Status

Reviewed By:
Bob Garwood
Date Reviewed:
1997/02/01

Prerequisite

Etymology

The MSTableImpl implements non-templated static functions shared by all MSTable objects.

Synopsis

MSTableImpl is only for internal use by the MeasurementSet base class MSTable.

Example

Motivation

The reasons for existance for this class are: sharing of code between the various MeasurementSet Tables and avoiding duplicate code in the instantiations of MSTable

To Do

Member Description

static Int mapType(const SimpleOrderedMap<Int,String>& map, const String &name)

Convert a name to a ColEnum,

static void addColumnToDesc(TableDesc &td, const String& colName, Int colDType, const String& colComment, const String& colUnit, const String& colMeasure, Int ndim, const IPosition & shape, Int option, const String& refCol)

add a column to a TableDesc An exception is thrown for an invalid data type. This indicates a programming error in this class when this occurs. If option!=0 shape is used to set the shape of the column and option defines the type of column (ColumnDesc::Fixed/Direct). If option==0, shape is ignored and ndim is used to specify the array dimension if any. If refCol is not empty, a column with variable reference will be created, note that refCol should already exist in td.

Thrown Exceptions

static void addKeyToDesc(TableDesc& td, const String& keyName, Int keyDType, const String& keyComment)

add a keyword to a TableDesc An exception is thrown for an invalid data type. This indicates a missing data type in the code..

Thrown Exceptions

static void addMeasColumn(TableDesc &td, const String& colName, const String& colMeasure, const String& refCol)

add a MeasureColumn for the specified Measure, with default reference

static void addColumnCompression (TableDesc&, const String& colName, Bool autoScale, const String& type)

Add the compress option for the given column to the TableDesc.

static SetupNewTable& setupCompression (SetupNewTable&)

Setup the compression data managers if needed.

static void colMapDef(SimpleOrderedMap<Int,String>& colMap, SimpleOrderedMap<Int,Int>& colDTypeMap, SimpleOrderedMap<Int,String>& colCommentMap, SimpleOrderedMap<Int,String>& colUnitMap, SimpleOrderedMap<Int,String>& colMeasureTypeMap, Int col, const String& colName, Int colType, const String& colComment, const String& colUnit, const String& colMeasureType)

Define an entry in the column maps

static void keyMapDef(SimpleOrderedMap<Int,String>& keyMap, SimpleOrderedMap<Int,Int>& keyDTypeMap, SimpleOrderedMap<Int,String>& keyCommentMap, Int key, const String& keyName, Int keyType, const String& keyComment)

Define an entry in the keyword maps

static Bool validate(const TableDesc& tabDesc, const TableDesc& requiredTD)

tableDesc convenience functions

check that a TableDesc is valid

static Bool validate(const TableRecord& tabRec, const TableDesc& requiredTD)

tableDesc convenience functions

check that the keyword set is valid

static Table referenceCopy(const Table& tab, const String& newTableName, const Block<String>& writableColumns)

Return a table that references all columns in this table except for those given in writableColumns, those are empty and writable.

static void init()

Initialize all MeasurementSet static mappings