casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Friends | List of all members
casacore::ScalarRecordColumnDesc Class Reference

Class to define columns of scalar records in tables. More...

#include <ScaRecordColDesc.h>

Inheritance diagram for casacore::ScalarRecordColumnDesc:
casacore::BaseColumnDesc

Public Member Functions

 ScalarRecordColumnDesc (const String &name)
 Construct the column with the given name. More...
 
 ScalarRecordColumnDesc (const String &name, const String &comment)
 Construct the column with the given name and comment. More...
 
 ScalarRecordColumnDesc (const String &name, const String &comment, const String &dataManName, const String &dataManGroup)
 Construct the column with the given name, comment, and default data manager type and group. More...
 
 ScalarRecordColumnDesc (const ScalarRecordColumnDesc &)
 Copy constructor (copy semantics);. More...
 
 ~ScalarRecordColumnDesc ()
 
ScalarRecordColumnDescoperator= (const ScalarRecordColumnDesc &)
 Assignment (copy semantics);. More...
 
virtual BaseColumnDescclone () const
 Clone this column description. More...
 
virtual String className () const
 Get the name of this class. More...
 
virtual PlainColumnmakeColumn (ColumnSet *) const
 Create a Column object out of this. More...
 
virtual void show (ostream &os) const
 Show the column. More...
 
- Public Member Functions inherited from casacore::BaseColumnDesc
 BaseColumnDesc (const String &name, const String &comment, const String &dataManagerType, const String &dataManagerGroup, DataType, const String &dataTypeId, Int options, uInt ndim, const IPosition &shape, Bool isScalar, Bool isArray, Bool isTable)
 Construct the column base object. More...
 
 BaseColumnDesc (const BaseColumnDesc &)
 Copy constructor (copy semantics). More...
 
virtual ~BaseColumnDesc ()
 
TableRecordrwKeywordSet ()
 Get access to the set of keywords. More...
 
const TableRecordkeywordSet () const
 
const Stringname () const
 Get the name of the column. More...
 
DataType dataType () const
 Get the data type of the column. More...
 
const StringdataTypeId () const
 Get the type id for non-standard data types (i.e. More...
 
const StringdataManagerType () const
 Get the type name of the default data manager. More...
 
StringdataManagerType ()
 Get the type name of the default data manager. More...
 
const StringdataManagerGroup () const
 Get the data manager group. More...
 
StringdataManagerGroup ()
 Get the data manager group. More...
 
void setDefaultDataManager (Bool always)
 Set the data manager type and group to the default. More...
 
const Stringcomment () const
 Get comment string. More...
 
Stringcomment ()
 Get comment string (allowing it to be changed). More...
 
Int options () const
 Get the options. More...
 
Bool isScalar () const
 Test if column is scalar, array or table. More...
 
Bool isArray () const
 
Bool isTable () const
 
Int ndim () const
 Get the number of dimensions. More...
 
const IPositionshape () const
 Get the predefined shape. More...
 
void setNdim (uInt ndim)
 Set the number of dimensions. More...
 
void setShape (const IPosition &shape)
 Set the predefined shape. More...
 
void setShape (const IPosition &shape, Bool directOption)
 
void setOptions (Int options)
 Set the options to the given value. More...
 
uInt maxLength () const
 Get the maximum value length. More...
 
void setMaxLength (uInt maxLength)
 Set the maximum value length. More...
 
const TableDesctableDesc () const
 Get table description (in case column contains subtables). More...
 
virtual TableDesctableDesc ()
 
void setName (const String &name)
 Set the name of the column (for a rename). More...
 

Static Public Member Functions

static BaseColumnDescmakeDesc (const String &name)
 Create the object from AipsIO (this function is registered by ColumnDesc.cc). More...
 

Private Member Functions

virtual void putDesc (AipsIO &) const
 Put the object. More...
 
virtual void getDesc (AipsIO &)
 Get the object. More...
 

Friends

class ColumnDesc
 

Additional Inherited Members

- Protected Member Functions inherited from casacore::BaseColumnDesc
BaseColumnDescoperator= (const BaseColumnDesc &)
 Assignment (copy semantics). More...
 
void putFile (AipsIO &, const TableAttr &) const
 Put the object. More...
 
void getFile (AipsIO &, const TableAttr &)
 Get the object. More...
 
RefColumnmakeRefColumn (RefTable *, BaseColumn *) const
 Make a RefColumn object out of the description. More...
 
virtual ConcatColumnmakeConcatColumn (ConcatTable *) const
 Make a ConcatColumn object out of the description. More...
 
- Protected Attributes inherited from casacore::BaseColumnDesc
String colName_p
 
String comment_p
 
String dataManType_p
 
String dataManGroup_p
 
DataType dtype_p
 
String dtypeId_p
 
Int option_p
 
Int nrdim_p
 
IPosition shape_p
 
uInt maxLength_p
 
TableRecordkeySetPtr_p
 
Bool isScalar_p
 
Bool isArray_p
 
Bool isTable_p
 

Detailed Description

Class to define columns of scalar records in tables.

Review Status

Reviewed By:
Wim Brouw
Date Reviewed:
1998/12/09
Test programs:
tTableDesc

Intended use:

Public interface

Prerequisite

Etymology

This class builds descriptions of table columns where each cell (which may also be called a row) will hold a scalar record value.

Synopsis

ScalarRecordColumnDesc is the class for defining a table column containing scalar record values. The only record class supported is TableRecord.
This class is similar to the templated class ScalarColumnDesc used to define column descriptions for scalars with a standard data type.

The data managers handle a record as an indirect Vector of uChar, because class ScalarRecordColumnData converts a record to such a vector before passing it to the data manager.

This class is derived from BaseColumnDesc, thus the functions in there also apply to this class.
Once a column description is setup satisfactorily, it must be added to a table description before it can be used by the table system.

Example

TableDesc tabDesc("tTableDesc", "1", TableDesc::New);
// Add a scalar integer column ac, define keywords for it
// and define a default value 0.
ScalarRecordColumnDesc<Int> acColumn("ac");
acColumn.rwKeywordSet().define ("scale", Complex(0));
acColumn.rwKeywordSet().define ("unit", "");
acColumn.setDefault (0);
tabDesc.addColumn (acColumn);
// Add another column, now with data type String.\.
// This can be added directly, because no special things like
// keywords or default values have to be set.
tabDesc.addColumn (ScalarRecordColumnDesc<String>("name", "comments"));

Motivation

This class resembles the templated class ScalarColumnDesc a lot, but is different enough to make that templated class not usable for records.
In principle it could have been a template specialization, but not all compilers support specializations so well.

To Do

Definition at line 119 of file ScaRecordColDesc.h.

Constructor & Destructor Documentation

casacore::ScalarRecordColumnDesc::ScalarRecordColumnDesc ( const String name)
explicit

Construct the column with the given name.

The data manager type defaults to the StandardStMan storage manager. The data manager group defaults to the data manager type.

casacore::ScalarRecordColumnDesc::ScalarRecordColumnDesc ( const String name,
const String comment 
)

Construct the column with the given name and comment.

The data manager type defaults to the StandardStMan storage manager. The data manager group defaults to the data manager type.

casacore::ScalarRecordColumnDesc::ScalarRecordColumnDesc ( const String name,
const String comment,
const String dataManName,
const String dataManGroup 
)

Construct the column with the given name, comment, and default data manager type and group.

A blank data manager group defaults to the data manager type.

casacore::ScalarRecordColumnDesc::ScalarRecordColumnDesc ( const ScalarRecordColumnDesc )

Copy constructor (copy semantics);.

casacore::ScalarRecordColumnDesc::~ScalarRecordColumnDesc ( )

Member Function Documentation

virtual String casacore::ScalarRecordColumnDesc::className ( ) const
virtual

Get the name of this class.

It is used by the registration process.

Implements casacore::BaseColumnDesc.

virtual BaseColumnDesc* casacore::ScalarRecordColumnDesc::clone ( ) const
virtual

Clone this column description.

Implements casacore::BaseColumnDesc.

virtual void casacore::ScalarRecordColumnDesc::getDesc ( AipsIO )
privatevirtual

Get the object.

Implements casacore::BaseColumnDesc.

virtual PlainColumn* casacore::ScalarRecordColumnDesc::makeColumn ( ColumnSet ) const
virtual

Create a Column object out of this.

This is used by class ColumnSet to construct a table column object.

Implements casacore::BaseColumnDesc.

static BaseColumnDesc* casacore::ScalarRecordColumnDesc::makeDesc ( const String name)
static

Create the object from AipsIO (this function is registered by ColumnDesc.cc).

ScalarRecordColumnDesc& casacore::ScalarRecordColumnDesc::operator= ( const ScalarRecordColumnDesc )

Assignment (copy semantics);.

virtual void casacore::ScalarRecordColumnDesc::putDesc ( AipsIO ) const
privatevirtual

Put the object.

Implements casacore::BaseColumnDesc.

virtual void casacore::ScalarRecordColumnDesc::show ( ostream &  os) const
virtual

Show the column.

Implements casacore::BaseColumnDesc.

Friends And Related Function Documentation

friend class ColumnDesc
friend

Definition at line 121 of file ScaRecordColDesc.h.


The documentation for this class was generated from the following file: