casacore::Param Class Reference

A simple keyword/value pair with internal help Strings. More...

#include <Param.h>

List of all members.

Public Member Functions

 Param ()
 constructors and destructor default constructor
 Param (const String &key, const String &value, const String &help, const String &type, const String &range, const String &unit)
 normal constructor with optional value and help strings
 Param (const Param &)
 copy constructor
 ~Param ()
 destructor
Paramoperator= (const Param &)
 assignment operator
Bool operator== (const Param &) const
 Equality comparitor.
Double getDouble (Bool do_prompt=False) const
 get a double parameter value; prompt if switch is TRUE
Block< DoublegetDoubleArray (Bool do_prompt=False) const
 get a Block<double> parameter value; prompt if switch is TRUE
Int getInt (Bool do_prompt=False) const
 get an Int parameter value; prompt if switch is TRUE
Block< IntgetIntArray (Bool do_prompt=False) const
 get an Block<Int> parameter value; prompt if switch is TRUE
const StringgetString (Bool do_prompt=False) const
 get a String parameter value; prompt if switch is TRUE
Block< StringgetStringArray (Bool do_prompt=False) const
 get a Block<String> parameter value; prompt if switch is TRUE
Bool getBool (Bool do_prompt=False) const
 get a Boolean parameter value; prompt if switch is TRUE
const Stringget () const
 get parameter value as a string
const StringgetHelp () const
 get parameter help string
const StringgetKey () const
 get parameter name
String keyVal () const
 get the string `key = value' for the parameter
const StringgetType () const
 get the type of a parameter
const StringgetRange () const
 get the valid range of a parameter
const StringgetUnit () const
 get the units of a parameter
Bool put (const String &a_value)
 set new parameter value; return FALSE if invalid value
void setSystem (Bool val)
 set a parameter as a system parameter
Bool isSystem () const
 check if a parameter is a system parameter
void setIndex (Int inx)
 set an index for a program parameter
Int getIndex () const
 get the index of a parameter

Private Attributes

String key
 parameter name
String value
 parameter value
String help
 help string
String type
 type of parameter
String range
 range/validity/pre-check
String unit
 optional unit associated with value
Bool hasvalue
 boolean data member which indicates the Param's key has a value.
Bool system
 boolean data member which indicates the Param is system wide.
Int index
 index for program keywords (>=1)

Friends

ostream & operator<< (ostream &, const Param &p)
 I/O operators.
istream & operator>> (istream &, Param &p)
AipsIOoperator<< (AipsIO &, const Param &p)
AipsIOoperator>> (AipsIO &, Param &p)

Detailed Description

A simple keyword/value pair with internal help Strings.

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25
Test programs:
tParam

Prerequisite

Etymology

The Param class name is a shortening of "parameter" and is indicative of the class being designed as a keyword/value pair relating to command line arguments. The existing Keyword class does a much better job for most other purposes.

Synopsis

The Param is constructed with all arguments being Strings. This is a reflection of the C-type command line argument method of passing an integer (argc or argument count) and an array of pointers to characters (argv or argument vector.) If "char* argv[]" is broken into its individual arguments they may be used to fill a Param. The constructor pairs up a "key" to a value. A help String argument is provided to assist in prompted filling of Param values. The expected return type may be entered as well as a range of potential values. Finally, the units of the value are also specified. The intent is to provide a well documented value and a "key" by which to "call" it.

The "getWhatever" member functions of Param convert the internal Strings into the desired output data type. The Strings themselves may also be returned.

Example

 // we will create a Param which contains the boundary for an iteration loop.
 String key("IterBound");
 // give "IterBound" a default value
 String value("200");
 // a help String for prompting
 String help("The Boundary value for the chutzpah iterator.");
 // The expected return type is an integer
 String type("Int");
 // The range of "legal" values 
 String range("10-10000");
 // the units of the value
 String unit("unitless"):
 // Now we may build our Param
 Param PleaseDontTouchMeThere(key, value, help, type, range, unit);
 // to retrieve the value we use the GetInt function
 for (Int i=0, i<PleaseDontTouchMeThere.getInt(); i++, chutzpah++);

Motivation

The Param class was an early attempt at keywords within Casacore. They have become obsolete but hang on due to their relationship with the Input class.

To Do

Definition at line 113 of file Param.h.


Constructor & Destructor Documentation

casacore::Param::Param (  ) 

constructors and destructor default constructor

casacore::Param::Param ( const String key,
const String value,
const String help,
const String type,
const String range,
const String unit 
)

normal constructor with optional value and help strings

casacore::Param::Param ( const Param  ) 

copy constructor

casacore::Param::~Param (  ) 

destructor


Member Function Documentation

const String& casacore::Param::get (  )  const [inline]

get parameter value as a string

Definition at line 168 of file Param.h.

Bool casacore::Param::getBool ( Bool  do_prompt = False  )  const

get a Boolean parameter value; prompt if switch is TRUE

Double casacore::Param::getDouble ( Bool  do_prompt = False  )  const

get a double parameter value; prompt if switch is TRUE

Block<Double> casacore::Param::getDoubleArray ( Bool  do_prompt = False  )  const

get a Block<double> parameter value; prompt if switch is TRUE

const String& casacore::Param::getHelp (  )  const [inline]

get parameter help string

Definition at line 172 of file Param.h.

Int casacore::Param::getIndex (  )  const [inline]

get the index of a parameter

Definition at line 211 of file Param.h.

References index.

Int casacore::Param::getInt ( Bool  do_prompt = False  )  const

get an Int parameter value; prompt if switch is TRUE

Block<Int> casacore::Param::getIntArray ( Bool  do_prompt = False  )  const

get an Block<Int> parameter value; prompt if switch is TRUE

const String& casacore::Param::getKey (  )  const [inline]

get parameter name

Definition at line 176 of file Param.h.

const String& casacore::Param::getRange (  )  const [inline]

get the valid range of a parameter

Definition at line 188 of file Param.h.

const String& casacore::Param::getString ( Bool  do_prompt = False  )  const

get a String parameter value; prompt if switch is TRUE

Block<String> casacore::Param::getStringArray ( Bool  do_prompt = False  )  const

get a Block<String> parameter value; prompt if switch is TRUE

const String& casacore::Param::getType (  )  const [inline]

get the type of a parameter

Definition at line 184 of file Param.h.

const String& casacore::Param::getUnit (  )  const [inline]

get the units of a parameter

Definition at line 192 of file Param.h.

Bool casacore::Param::isSystem (  )  const [inline]

check if a parameter is a system parameter

Definition at line 203 of file Param.h.

References system.

String casacore::Param::keyVal (  )  const [inline]

get the string `key = value' for the parameter

Definition at line 180 of file Param.h.

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

assignment operator

Bool casacore::Param::operator== ( const Param  )  const

Equality comparitor.


Warning: This function ALWAYS returns false; I have no idea why it was designed to do this;

Bool casacore::Param::put ( const String a_value  ) 

set new parameter value; return FALSE if invalid value

void casacore::Param::setIndex ( Int  inx  )  [inline]

set an index for a program parameter

Definition at line 207 of file Param.h.

References index.

void casacore::Param::setSystem ( Bool  val  )  [inline]

set a parameter as a system parameter

Definition at line 199 of file Param.h.

References system.


Friends And Related Function Documentation

AipsIO& operator<< ( AipsIO ,
const Param p 
) [friend]
ostream& operator<< ( ostream &  ,
const Param p 
) [friend]

I/O operators.

AipsIO& operator>> ( AipsIO ,
Param p 
) [friend]
istream& operator>> ( istream &  ,
Param p 
) [friend]

Member Data Documentation

boolean data member which indicates the Param's key has a value.

Definition at line 235 of file Param.h.

help string

Definition at line 223 of file Param.h.

index for program keywords (>=1)

Definition at line 241 of file Param.h.

Referenced by getIndex(), and setIndex().

parameter name

Definition at line 217 of file Param.h.

range/validity/pre-check

Definition at line 229 of file Param.h.

boolean data member which indicates the Param is system wide.

Definition at line 238 of file Param.h.

Referenced by isSystem(), and setSystem().

type of parameter

Definition at line 226 of file Param.h.

optional unit associated with value

Definition at line 232 of file Param.h.

parameter value

Definition at line 220 of file Param.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1