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

A class representing the DAP Str class for file out netcdf. More...

#include <FONcStr.h>

Inheritance diagram for FONcStr:
Inheritance graph
Collaboration diagram for FONcStr:
Collaboration graph

Public Member Functions

virtual void clear_embedded ()
 Clears the list of embedded variable names. More...
 
virtual void convert (vector< string > embed)
 
virtual void define (int ncid)
 Define the string variable in the netcdf file. More...
 
virtual void dump (ostream &strm) const
 dumps information about this object for debugging purposes More...
 
 FONcStr (BaseType *b)
 Constructor for FONcStr that takes a DAP Str. More...
 
virtual bool isNetCDF4 ()
 Returns true if NetCDF4 features will be required. More...
 
virtual string name ()
 returns the name of the DAP Str More...
 
virtual void setVersion (string version)
 Identifies variable with use of NetCDF4 features. More...
 
virtual nc_type type ()
 returns the netcdf type of the DAP Str More...
 
virtual int varid ()
 
virtual void write (int ncid)
 Write the str out to the netcdf file. More...
 
virtual ~FONcStr ()
 Destructor that cleans up the str. More...
 

Protected Attributes

bool _defined
 
vector< string > _embed
 
string _ncVersion
 
string _orig_varname
 
int _varid
 
string _varname
 

Detailed Description

A class representing the DAP Str class for file out netcdf.

This class represents a DAP Str with additional information needed to write it out to a netcdf file. Includes a reference to the actual DAP Str being converted

Definition at line 47 of file FONcStr.h.

Constructor & Destructor Documentation

FONcStr::FONcStr ( BaseType *  b)

Constructor for FONcStr that takes a DAP Str.

This constructor takes a DAP BaseType and makes sure that it is a DAP Str instance. If not, it throws an exception

Parameters
bA DAP BaseType that should be a Str
Exceptions
BESInternalErrorif the BaseType is not a Str

Definition at line 47 of file FONcStr.cc.

FONcStr::~FONcStr ( )
virtual

Destructor that cleans up the str.

The DAP Str instance does not belong to the FONcByte instance, so it is not cleaned up. During definition, though, the data needed to be extracted to calculate the length dimension. It is kept so that we don't have to get the data twice. The string data is deleted here.

Definition at line 66 of file FONcStr.cc.

Member Function Documentation

void FONcBaseType::clear_embedded ( )
virtualinherited

Clears the list of embedded variable names.

Definition at line 95 of file FONcBaseType.cc.

References FONcBaseType::_embed.

Referenced by FONcMap::clear_embedded().

void FONcBaseType::convert ( vector< string >  embed)
virtualinherited

Reimplemented in FONcArray, FONcGrid, FONcStructure, and FONcSequence.

Definition at line 41 of file FONcBaseType.cc.

References FONcBaseType::_embed, FONcBaseType::_varname, and FONcBaseType::name().

Referenced by FONcSequence::convert(), FONcStructure::convert(), FONcGrid::convert(), and FONcArray::convert().

Here is the call graph for this function:

void FONcStr::define ( int  ncid)
virtual

Define the string variable in the netcdf file.

This method creates this string variable in the netcdf file. To do this we define a dimension that specifies the length of the string.

Parameters
ncidId of the NetCDF file
Exceptions
BESInternalErrorif defining the variable fails

Reimplemented from FONcBaseType.

Definition at line 80 of file FONcStr.cc.

References FONcBaseType::_defined, FONcBaseType::_embed, FONcBaseType::_orig_varname, FONcBaseType::_varid, FONcBaseType::_varname, FONcAttributes::add_original_name(), BESDEBUG, FONcUtils::gen_name(), and FONcUtils::handle_error().

Here is the call graph for this function:

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

dumps information about this object for debugging purposes

Displays the pointer value of this instance plus instance data

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

Implements FONcBaseType.

Definition at line 189 of file FONcStr.cc.

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

Here is the call graph for this function:

bool FONcBaseType::isNetCDF4 ( )
virtualinherited

Returns true if NetCDF4 features will be required.

Definition at line 112 of file FONcBaseType.cc.

References FONcBaseType::_ncVersion, FONcBaseType::_varname, FONcUtils::handle_error(), RETURNAS_NETCDF, and RETURNAS_NETCDF4.

Referenced by FONcArray::define().

Here is the call graph for this function:

string FONcStr::name ( )
virtual

returns the name of the DAP Str

Returns
The name of the DAP Str

Implements FONcBaseType.

Definition at line 167 of file FONcStr.cc.

void FONcBaseType::setVersion ( string  version)
virtualinherited

Identifies variable with use of NetCDF4 features.

Definition at line 102 of file FONcBaseType.cc.

References FONcBaseType::_ncVersion, and BESDEBUG.

nc_type FONcStr::type ( )
virtual

returns the netcdf type of the DAP Str

Returns
The nc_type of NC_CHAR

Reimplemented from FONcBaseType.

Definition at line 177 of file FONcStr.cc.

virtual int FONcBaseType::varid ( )
inlinevirtualinherited

Definition at line 70 of file FONcBaseType.h.

void FONcStr::write ( int  ncid)
virtual

Write the str out to the netcdf file.

Once the str is defined, the value of the str can be written out as well using nc_put_vara_text

Parameters
ncidThe id of the netcdf file
Exceptions
BESInternalErrorif there is a problem writing the value out to the netcdf file

Reimplemented from FONcBaseType.

Definition at line 137 of file FONcStr.cc.

References FONcBaseType::_varid, FONcBaseType::_varname, BESDEBUG, and FONcUtils::handle_error().

Here is the call graph for this function:

Member Data Documentation

vector<string> FONcBaseType::_embed
protectedinherited
string FONcBaseType::_ncVersion
protectedinherited

Definition at line 56 of file FONcBaseType.h.

Referenced by FONcBaseType::isNetCDF4(), and FONcBaseType::setVersion().


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