bes  Updated for version 3.17.4
BESContainer Class Referenceabstract

A container is something that holds data. I.E. a netcdf file or a database entry. More...

#include <BESContainer.h>

Inheritance diagram for BESContainer:
Inheritance graph

Public Member Functions

virtual string access ()=0
 returns the true name of this container More...
 
virtual void dump (ostream &strm) const
 dumps information about this object More...
 
string get_attributes () const
 retrieve the attributes desired from this container More...
 
string get_constraint () const
 retrieve the constraint expression for this container More...
 
string get_container_type () const
 retrieve the type of data this container holds, such as cedar or netcdf. More...
 
string get_dap4_constraint () const
 retrieve the constraint expression for this container More...
 
string get_dap4_function () const
 retrieve the constraint expression for this container More...
 
string get_real_name () const
 retrieve the real name for this container, such as a file name. More...
 
string get_symbolic_name () const
 retrieve the symbolic name for this container More...
 
virtual BESContainerptr_duplicate ()=0
 pure abstract method to duplicate this instances of BESContainer
 
virtual bool release ()=0
 
void set_attributes (const string &attrs)
 set desired attributes for this container More...
 
void set_constraint (const string &s)
 set the constraint for this container More...
 
void set_container_type (const string &type)
 set the type of data that this container represents, such as cedar or netcdf. More...
 
void set_dap4_constraint (const string &s)
 set the constraint for this container More...
 
void set_dap4_function (const string &s)
 set the constraint for this container More...
 
void set_real_name (const string &real_name)
 set the real name for this container, such as a file name if reading a data file. More...
 

Protected Member Functions

void _duplicate (BESContainer &copy_to)
 duplicate this instance into the passed container More...
 
 BESContainer (const string &sym_name, const string &real_name, const string &type)
 construct a container with the given symbolic name, real name and container type. More...
 
 BESContainer (const BESContainer &copy_from)
 make a copy of the passed container More...
 

Detailed Description

A symbolic name is a name that represents a set of data, such as a file, and the type of data, such as cedar, netcdf, hdf, etc... Associated with this symbolic name during run time is a constraint expression used to constrain the data and attributes desired from the container.

The symbolic name is looked up in persistence, such as a MySQL database, a file, or in volatile memory. The information retrieved from the persistent source is saved in the BESContainer and is used to execute the request from the client.

See also
BESContainerStorage

Definition at line 60 of file BESContainer.h.

Constructor & Destructor Documentation

◆ BESContainer() [1/2]

BESContainer::BESContainer ( const string &  sym_name,
const string &  real_name,
const string &  type 
)
inlineprotected
Parameters
sym_namesymbolic name
real_namereal name of the container, such as a file name
typetype of data represented by this container, such as netcdf

Definition at line 81 of file BESContainer.h.

References _duplicate(), and ptr_duplicate().

◆ BESContainer() [2/2]

BESContainer::BESContainer ( const BESContainer copy_from)
protected
Parameters
copy_fromThe container to copy

Definition at line 39 of file BESContainer.cc.

Member Function Documentation

◆ _duplicate()

void BESContainer::_duplicate ( BESContainer copy_to)
protected
Parameters
copy_toThe container to copy this instance into

Definition at line 50 of file BESContainer.cc.

◆ access()

virtual string BESContainer::access ( )
pure virtual

The true name of this container might be an uncompressed file name from the compressed file name represented by the real name of this container. This method would uncompress the real name and return the uncompressed file name. Another example is where the real name represents a WCS request. The access method would make the WCS request and return the name of the resulting file.

Returns
name of file to access

Implemented in BESFileContainer.

◆ dump()

void BESContainer::dump ( ostream &  strm) const
virtual

Displays the pointer value of this instance along with information about this container.

Parameters
strmC++ i/o stream to dump the information to

Implements BESObj.

Reimplemented in BESFileContainer.

Definition at line 68 of file BESContainer.cc.

◆ get_attributes()

string BESContainer::get_attributes ( ) const
inline
Returns
attributes desired from this container

Definition at line 217 of file BESContainer.h.

References access(), and dump().

◆ get_constraint()

string BESContainer::get_constraint ( ) const
inline
Returns
constraint expression for this execution for the symbolic name

Definition at line 170 of file BESContainer.h.

◆ get_container_type()

string BESContainer::get_container_type ( ) const
inline
Returns
type of data this container represents, such as cedar or netcdf

Definition at line 208 of file BESContainer.h.

◆ get_dap4_constraint()

string BESContainer::get_dap4_constraint ( ) const
inline
Returns
constraint expression for this execution for the symbolic name

Definition at line 179 of file BESContainer.h.

◆ get_dap4_function()

string BESContainer::get_dap4_function ( ) const
inline
Returns
constraint expression for this execution for the symbolic name

Definition at line 188 of file BESContainer.h.

◆ get_real_name()

string BESContainer::get_real_name ( ) const
inline
Returns
real name, such as file name

Definition at line 161 of file BESContainer.h.

◆ get_symbolic_name()

string BESContainer::get_symbolic_name ( ) const
inline
Returns
symbolic name for this container

Definition at line 197 of file BESContainer.h.

◆ set_attributes()

void BESContainer::set_attributes ( const string &  attrs)
inline
Parameters
attrsattributes desired to access for this container

Definition at line 151 of file BESContainer.h.

◆ set_constraint()

void BESContainer::set_constraint ( const string &  s)
inline
Parameters
sconstraint

Definition at line 104 of file BESContainer.h.

◆ set_container_type()

void BESContainer::set_container_type ( const string &  type)
inline
Parameters
typetype of data, such as cedar or netcdf

Definition at line 142 of file BESContainer.h.

◆ set_dap4_constraint()

void BESContainer::set_dap4_constraint ( const string &  s)
inline
Parameters
sconstraint

Definition at line 113 of file BESContainer.h.

◆ set_dap4_function()

void BESContainer::set_dap4_function ( const string &  s)
inline
Parameters
sconstraint

Definition at line 122 of file BESContainer.h.

◆ set_real_name()

void BESContainer::set_real_name ( const string &  real_name)
inline
Parameters
real_namereal name, such as the file name

Definition at line 132 of file BESContainer.h.


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