#include <BESContainer.h>
Public Member Functions | |
virtual | ~BESContainer () |
virtual BESContainer * | ptr_duplicate ()=0 |
pure abstract method to duplicate this instances of BESContainer | |
void | set_constraint (const string &s) |
set the constraint for this container | |
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. | |
void | set_container_type (const string &type) |
set the type of data that this container represents, such as cedar or netcdf. | |
void | set_attributes (const string &attrs) |
set desired attributes for this container | |
string | get_real_name () const |
retreive the real name for this container, such as a file name. | |
string | get_constraint () const |
retrieve the constraint expression for this container | |
string | get_symbolic_name () const |
retrieve the symbolic name for this container | |
string | get_container_type () const |
retrieve the type of data this container holds, such as cedar or netcdf. | |
string | get_attributes () const |
retrieve the attributes desired from this container | |
virtual string | access ()=0 |
returns the true name of this container | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
Protected Member Functions | |
BESContainer () | |
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. | |
BESContainer (const BESContainer ©_from) | |
make a copy of the passed container | |
void | _duplicate (BESContainer ©_to) |
duplicate this instance into the passed container |
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.
Definition at line 60 of file BESContainer.h.
BESContainer::BESContainer | ( | ) | [inline, protected] |
Definition at line 69 of file BESContainer.h.
BESContainer::BESContainer | ( | const string & | sym_name, | |
const string & | real_name, | |||
const string & | type | |||
) | [inline, protected] |
construct a container with the given symbolic name, real name and container type.
sym_name | symbolic name | |
real_name | real name of the container, such as a file name | |
type | type of data represented by this container, such as netcdf |
Definition at line 78 of file BESContainer.h.
BESContainer::BESContainer | ( | const BESContainer & | copy_from | ) | [protected] |
make a copy of the passed container
copy_from | The container to copy |
Definition at line 39 of file BESContainer.cc.
virtual BESContainer::~BESContainer | ( | ) | [inline, virtual] |
Definition at line 92 of file BESContainer.h.
void BESContainer::_duplicate | ( | BESContainer & | copy_to | ) | [protected] |
duplicate this instance into the passed container
copy_to | The container to copy this instance into |
Reimplemented in BESFileContainer.
Definition at line 53 of file BESContainer.cc.
References _attributes, _constraint, _container_type, _real_name, and _symbolic_name.
Referenced by BESFileContainer::_duplicate(), and BESFileContainer::ptr_duplicate().
virtual BESContainer* BESContainer::ptr_duplicate | ( | ) | [pure virtual] |
pure abstract method to duplicate this instances of BESContainer
Implemented in BESFileContainer.
Referenced by BESContainerStorageVolatile::look_for().
void BESContainer::set_constraint | ( | const string & | s | ) | [inline] |
set the constraint for this container
s | constraint |
Definition at line 102 of file BESContainer.h.
Referenced by BESDefineCommand::parse_request(), and constraintT::run().
void BESContainer::set_real_name | ( | const string & | real_name | ) | [inline] |
set the real name for this container, such as a file name if reading a data file.
real_name | real name, such as the file name |
Definition at line 112 of file BESContainer.h.
void BESContainer::set_container_type | ( | const string & | type | ) | [inline] |
set the type of data that this container represents, such as cedar or netcdf.
type | type of data, such as cedar or netcdf |
Definition at line 122 of file BESContainer.h.
void BESContainer::set_attributes | ( | const string & | attrs | ) | [inline] |
set desired attributes for this container
attrs | attributes desired to access for this container |
Definition at line 131 of file BESContainer.h.
Referenced by BESDefineCommand::parse_request().
string BESContainer::get_real_name | ( | ) | const [inline] |
retreive the real name for this container, such as a file name.
Definition at line 141 of file BESContainer.h.
Referenced by BESFileContainer::access(), BESRequestHandlerList::execute_current(), pvolT::run(), plistT::run(), pfileT::run(), containerT::run(), BESDapTransmit::send_basic_das(), BESDapTransmit::send_basic_dds(), BESDapTransmit::send_basic_ddx(), and BESContainerStorageVolatile::show_containers().
string BESContainer::get_constraint | ( | ) | const [inline] |
retrieve the constraint expression for this container
Definition at line 150 of file BESContainer.h.
Referenced by BESConstraintFuncs::post_append(), and containerT::run().
string BESContainer::get_symbolic_name | ( | ) | const [inline] |
retrieve the symbolic name for this container
Definition at line 159 of file BESContainer.h.
Referenced by BESContainerStorageVolatile::add_container(), BESDefineCommand::parse_request(), BESConstraintFuncs::post_append(), pvolT::run(), containerT::run(), and BESContainerStorageVolatile::show_containers().
string BESContainer::get_container_type | ( | ) | const [inline] |
retrieve the type of data this container holds, such as cedar or netcdf.
Definition at line 170 of file BESContainer.h.
Referenced by BESContainerStorageVolatile::add_container(), BESRequestHandlerList::execute_current(), pvolT::run(), plistT::run(), pfileT::run(), containerT::run(), and BESContainerStorageVolatile::show_containers().
string BESContainer::get_attributes | ( | ) | const [inline] |
retrieve the attributes desired from this container
Definition at line 179 of file BESContainer.h.
virtual string BESContainer::access | ( | ) | [pure virtual] |
returns the true name of this container
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.
Implemented in BESFileContainer.
Referenced by BESStreamResponseHandler::execute().
void BESContainer::dump | ( | ostream & | strm | ) | const [virtual] |
dumps information about this object
Displays the pointer value of this instance along with information about this container.
strm | C++ i/o stream to dump the information to |
Implements BESObj.
Reimplemented in BESFileContainer.
Definition at line 70 of file BESContainer.cc.
References BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
Referenced by BESFileContainer::dump(), BESDefine::dump(), _BESDataHandlerInterface::dump(), and BESContainerStorageVolatile::dump().