A container is something that holds data. E.G., a netcdf file or a database entry.
More...
|
virtual std::string | access ()=0 |
| returns the true name of this container
|
|
virtual void | dump (std::ostream &strm) const |
| dumps information about this object
|
|
std::string | get_attributes () const |
| retrieve the attributes desired from this container
|
|
std::string | get_constraint () const |
| retrieve the constraint expression for this container
|
|
std::string | get_container_type () const |
| retrieve the type of data this container holds, such as cedar or netcdf.
|
|
std::string | get_dap4_constraint () const |
| retrieve the constraint expression for this container
|
|
std::string | get_dap4_function () const |
| retrieve the constraint expression for this container
|
|
std::string | get_real_name () const |
| retrieve the real name for this container, such as a file name.
|
|
std::string | get_relative_name () const |
| Get the relative name of the object in this container.
|
|
std::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 std::string &attrs) |
| set desired attributes for this container
|
|
void | set_constraint (const std::string &s) |
| set the constraint for this container
|
|
void | set_container_type (const std::string &type) |
| set the type of data that this container represents, such as cedar or netcdf.
|
|
void | set_dap4_constraint (const std::string &s) |
| set the constraint for this container
|
|
void | set_dap4_function (const std::string &s) |
| set the constraint for this container
|
|
void | set_real_name (const std::string &real_name) |
| set the real name for this container, such as a file name if reading a data file.
|
|
void | set_relative_name (const std::string &relative) |
| Set the relative name of the object in this container.
|
|
A container is something that holds data. E.G., 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.
- Note
- Many data items used with the BES are files and are referenced relative to a configured Data Root Directory. When a Container is added to a store, if that store uses the BESContainerStorageVolatile storage type, the 'real name' will be transformed to the full pathname of the file on disk for the current BES. It's useful to have access to the original relative pathname provided by the client/user so I've added a field (d_relative_name) to hold that information. jhrg 5/22/18
- See also
- BESContainerStorage
Definition at line 65 of file BESContainer.h.
virtual std::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.
- Returns
- name of file to access
Implemented in BESFileContainer, cmr::CmrContainer, gateway::GatewayContainer, httpd_catalog::HttpdCatalogContainer, and ngap::NgapContainer.