OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
A container is something that holds data. More...
#include <BESContainer.h>
Public Member Functions | |
virtual string | access ()=0 |
returns the true name of this container | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
string | get_attributes () const |
retrieve the attributes desired from this container | |
string | get_constraint () const |
retrieve the constraint expression for this container | |
string | get_container_type () const |
retrieve the type of data this container holds, such as cedar or netcdf. | |
string | get_real_name () const |
retreive the real name for this container, such as a file name. | |
string | get_symbolic_name () const |
retrieve the symbolic name for this container | |
virtual BESContainer * | ptr_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 | |
void | set_constraint (const string &s) |
set the constraint for this container | |
void | set_container_type (const string &type) |
set the type of data that this container represents, such as cedar or netcdf. | |
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. | |
virtual | ~BESContainer () |
Protected Member Functions | |
void | _duplicate (BESContainer ©_to) |
duplicate this instance into the passed container | |
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 |
A container is something that holds data.
I.E. a netcdf file or a database entry
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 54 of file BESContainer.cc.
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 DapRequestHandler::dap_build_das(), DapRequestHandler::dap_build_data(), DapRequestHandler::dap_build_dds(), BESStreamResponseHandler::execute(), and BESRequestHandlerList::execute_current().
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 71 of file BESContainer.cc.
References BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
Referenced by BESDefine::dump(), BESContainerStorageVolatile::dump(), and BESDataHandlerInterface::dump().
string BESContainer::get_attributes | ( | ) | const [inline] |
retrieve the attributes desired from this container
Definition at line 179 of file BESContainer.h.
string BESContainer::get_constraint | ( | ) | const [inline] |
retrieve the constraint expression for this container
Definition at line 150 of file BESContainer.h.
Referenced by BESDDSResponseHandler::execute(), BESDataResponseHandler::execute(), BESDataDDXResponseHandler::execute(), BESDDXResponseHandler::execute(), BESConstraintFuncs::post_append(), and BESDapResponse::set_constraint().
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(), and BESContainerStorageVolatile::show_containers().
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(), and BESContainerStorageVolatile::show_containers().
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(), DapRequestHandler::dap_build_das(), DapRequestHandler::dap_build_data(), DapRequestHandler::dap_build_dds(), BESConstraintFuncs::post_append(), and BESContainerStorageVolatile::show_containers().
virtual BESContainer* BESContainer::ptr_duplicate | ( | ) | [pure virtual] |
pure abstract method to duplicate this instances of BESContainer
Implemented in BESFileContainer.
Referenced by BESContainerStorageVolatile::look_for().
virtual bool BESContainer::release | ( | ) | [pure virtual] |
Implemented in BESFileContainer.
Referenced by BESInterface::end_request().
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 BESXMLDefineCommand::prep_request().
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 BESDDSResponseHandler::execute(), BESDataResponseHandler::execute(), BESDataDDXResponseHandler::execute(), BESDDXResponseHandler::execute(), and BESXMLDefineCommand::prep_request().
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_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.