bes  Updated for version 3.17.4
BESContainerStorage Class Referenceabstract

provides persistent storage for data storage information represented by a container. More...

#include <BESContainerStorage.h>

Inheritance diagram for BESContainerStorage:
Inheritance graph

Public Member Functions

virtual void add_container (const string &sym_name, const string &real_name, const string &type)=0
 adds a container with the provided information More...
 
 BESContainerStorage (const string &name)
 create an instance of BESContainerStorage with the give name. More...
 
virtual bool del_container (const string &s_name)=0
 removes a container with the given symbolic name More...
 
virtual bool del_containers ()=0
 removes all container More...
 
virtual void dump (ostream &strm) const =0
 Displays debug information about this object. More...
 
virtual const string & get_name () const
 retrieve the name of this persistent store More...
 
virtual bool isData (const string &inQuestion, list< string > &provides)=0
 determine if the given container is data and what services are available for it More...
 
virtual BESContainerlook_for (const string &sym_name)=0
 looks for a container in this persistent store More...
 
virtual void show_containers (BESInfo &info)=0
 show the containers stored in this persistent store More...
 

Protected Member Functions

virtual void show_container (const string &sym_name, const string &real_name, const string &type, BESInfo &info)
 add information for a container to the informational response object More...
 

Protected Attributes

string _my_name
 

Detailed Description

An implementation of the abstract interface BESContainerStorage provides storage for information about accessing data of different data types. The information is represented by a symbolic name. A user can request a symbolic name that represents a certain container.

For example, a symbolic name 'nc1' could represent the netcdf file /usr/apache/htdocs/netcdf/datfile01.cdf.

An instance of a derived implementation has a name associated with it, in case that there are multiple ways in which the information can be stored. For example, the main persistent storage for containers could be a mysql database, but a user could store temporary information in different files. If the user wishes to remove one of these persistence stores they would request that a named BESContainerStorage object be removed from the list.

See also
BESContainer
BESContainerStorageList

Definition at line 69 of file BESContainerStorage.h.

Constructor & Destructor Documentation

◆ BESContainerStorage()

BESContainerStorage::BESContainerStorage ( const string &  name)
inline
Parameters
namename of this persistence store

Definition at line 80 of file BESContainerStorage.h.

Member Function Documentation

◆ add_container()

virtual void BESContainerStorage::add_container ( const string &  sym_name,
const string &  real_name,
const string &  type 
)
pure virtual

This method adds a container to the persistence store with the specified information.

Parameters
sym_namesymbolic name for the container
real_namereal name for the container
typetype of data represented by this container

Implemented in BESContainerStorageFile, BESContainerStorageCatalog, and BESContainerStorageVolatile.

◆ del_container()

virtual bool BESContainerStorage::del_container ( const string &  s_name)
pure virtual

This method removes a container to the persistence store with the given symbolic name. It deletes the container.

Parameters
s_namesymbolic name for the container
Returns
true if successfully removed and false otherwise

Implemented in BESContainerStorageFile, and BESContainerStorageVolatile.

◆ del_containers()

virtual bool BESContainerStorage::del_containers ( )
pure virtual

This method removes all containers from the persistent store. It does not delete the real data behind the container.

Returns
true if successfully removed and false otherwise

Implemented in BESContainerStorageFile, and BESContainerStorageVolatile.

◆ dump()

virtual void BESContainerStorage::dump ( ostream &  strm) const
pure virtual
Parameters
strmoutput stream to use to dump the contents of this object

Implements BESObj.

Implemented in BESContainerStorageFile, BESContainerStorageCatalog, and BESContainerStorageVolatile.

◆ get_name()

virtual const string& BESContainerStorage::get_name ( ) const
inlinevirtual
Returns
name of this persistent store.

Definition at line 93 of file BESContainerStorage.h.

◆ isData()

virtual bool BESContainerStorage::isData ( const string &  inQuestion,
list< string > &  provides 
)
pure virtual
Parameters
inQuestionthe container in question
providesan output parameter for storing the list of services provided for this container

Implemented in BESContainerStorageFile, BESContainerStorageCatalog, and BESContainerStorageVolatile.

◆ look_for()

virtual BESContainer* BESContainerStorage::look_for ( const string &  sym_name)
pure virtual

This method looks for a container with the given symbolic name.

Parameters
sym_nameThe symbolic name of the container to look for
Returns
If sym_name is found, the BESContainer instance representing that symbolic name, else NULL is returned.

Implemented in BESContainerStorageFile, and BESContainerStorageVolatile.

◆ show_container()

void BESContainerStorage::show_container ( const string &  sym_name,
const string &  real_name,
const string &  type,
BESInfo info 
)
protectedvirtual
Parameters
sym_namesymbolic name of the container to add
real_namereal name, e.g. file name, of the container to add
typedata type of the container
infoThe BES information object to add container information to
See also
BESInfo

Definition at line 45 of file BESContainerStorage.cc.

◆ show_containers()

virtual void BESContainerStorage::show_containers ( BESInfo info)
pure virtual

Add information to the passed information object about each of the containers stored within this persistent store. The information added to the passed information objects includes the name of this persistent store on the first line followed by the symbolic name, real name and data type for each container, one per line.

Parameters
infoinformation object to store the information in

Implemented in BESContainerStorageFile, and BESContainerStorageVolatile.


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