OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
BESFileContainer Class Reference

Holds real data, container type and constraint for symbolic name read from persistence. More...

#include <BESFileContainer.h>

Inheritance diagram for BESFileContainer:
Inheritance graph
Collaboration diagram for BESFileContainer:
Collaboration graph

List of all members.

Public Member Functions

virtual string access ()
 returns the name of a file to access for this container, uncompressing if neccessary.
 BESFileContainer (const string &sym_name, const string &real_name, const string &type)
 construct a container representing a file
 BESFileContainer (const BESFileContainer &copy_from)
 make a copy of the container
virtual void dump (ostream &strm) const
 Displays debug 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 BESContainerptr_duplicate ()
 duplicate this instances of BESFileContainer
virtual bool release ()
 release the file
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 ~BESFileContainer ()

Protected Member Functions

virtual void _duplicate (BESContainer &copy_to)
 duplicate this instance into the passed container

Detailed Description

Holds real data, container type and constraint for symbolic name read from persistence.

A symbolic name is a name that represents a certain set of data, usually a file, and the type of data, such as cedar, netcdf, hdf, etc... Associated with this symbolic name during run time is the constraint associated with the name.

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

See also:
BESFileContainerStorage

Definition at line 59 of file BESFileContainer.h.


Constructor & Destructor Documentation

BESFileContainer::BESFileContainer ( const string &  sym_name,
const string &  real_name,
const string &  type 
)

construct a container representing a file

Parameters:
sym_namesymbolic name of the container
real_namereal name of the container, a file name in this case
typetype of the data represented in the file

Definition at line 45 of file BESFileContainer.cc.

BESFileContainer::BESFileContainer ( const BESFileContainer copy_from)

make a copy of the container

Parameters:
copy_fromThe container to copy

Definition at line 63 of file BESFileContainer.cc.

virtual BESFileContainer::~BESFileContainer ( )
inlinevirtual

Definition at line 75 of file BESFileContainer.h.


Member Function Documentation

void BESFileContainer::_duplicate ( BESContainer copy_to)
protectedvirtual

duplicate this instance into the passed container

Parameters:
copy_toThe container to copy this instance into

Reimplemented from BESContainer.

Definition at line 69 of file BESFileContainer.cc.

Referenced by ptr_duplicate().

string BESFileContainer::access ( )
virtual

returns the name of a file to access for this container, uncompressing if neccessary.

Returns:
name of file to access

Implements BESContainer.

Definition at line 92 of file BESFileContainer.cc.

References BESContainer::get_real_name(), TheBESKeys::TheKeys(), BESUncompressManager::TheManager(), and BESUncompressManager::uncompress().

Here is the call graph for this function:

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

Displays debug information about this object.

dumps information about this object

Parameters:
strmoutput stream to use to dump the contents of this object

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

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

Reimplemented from BESContainer.

Definition at line 128 of file BESFileContainer.cc.

References BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().

Here is the call graph for this function:

string BESContainer::get_attributes ( ) const
inlineinherited

retrieve the attributes desired from this container

Returns:
attributes desired from this container

Definition at line 179 of file BESContainer.h.

string BESContainer::get_constraint ( ) const
inlineinherited

retrieve the constraint expression for this container

Returns:
constraint expression for this execution for the symbolic name

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
inlineinherited

retrieve the type of data this container holds, such as cedar or netcdf.

Returns:
type of data this container represents, 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
inlineinherited

retreive the real name for this container, such as a file name.

Returns:
real name, such as file name

Definition at line 141 of file BESContainer.h.

Referenced by access(), BESRequestHandlerList::execute_current(), and BESContainerStorageVolatile::show_containers().

string BESContainer::get_symbolic_name ( ) const
inlineinherited
BESContainer * BESFileContainer::ptr_duplicate ( )
virtual

duplicate this instances of BESFileContainer

Returns:
a copy of this instance

Implements BESContainer.

Definition at line 79 of file BESFileContainer.cc.

References _duplicate().

Here is the call graph for this function:

bool BESFileContainer::release ( )
virtual

release the file

If the file was cached (uncompressed) then we need to release the lock on the cached entry

Returns:
if successfully released, returns true, otherwise returns false

Implements BESContainer.

Definition at line 113 of file BESFileContainer.cc.

void BESContainer::set_attributes ( const string &  attrs)
inlineinherited

set desired attributes for this container

Parameters:
attrsattributes 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)
inlineinherited
void BESContainer::set_container_type ( const string &  type)
inlineinherited

set the type of data that this container represents, such as cedar or netcdf.

Parameters:
typetype of data, such as cedar or netcdf

Definition at line 122 of file BESContainer.h.

void BESContainer::set_real_name ( const string &  real_name)
inlineinherited

set the real name for this container, such as a file name if reading a data file.

Parameters:
real_namereal name, such as the file name

Definition at line 112 of file BESContainer.h.


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