OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
FONcBaseType Class Referenceabstract

A DAP BaseType with file out netcdf information included. More...

#include <FONcBaseType.h>

Inheritance diagram for FONcBaseType:
Inheritance graph
Collaboration diagram for FONcBaseType:
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 variable in the netcdf file. More...
 
virtual void dump (ostream &strm) const =0
 dump the contents of this object to the specified ostream More...
 
virtual bool isNetCDF4 ()
 Returns true if NetCDF4 features will be required. More...
 
virtual string name ()=0
 
virtual void setVersion (string version)
 Identifies variable with use of NetCDF4 features. More...
 
virtual nc_type type ()
 Returns the type of data of this variable. More...
 
virtual int varid ()
 
virtual void write (int)
 
virtual ~FONcBaseType ()
 

Protected Member Functions

 FONcBaseType ()
 

Protected Attributes

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

Detailed Description

A DAP BaseType with file out netcdf information included.

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

Definition at line 48 of file FONcBaseType.h.

Constructor & Destructor Documentation

FONcBaseType::FONcBaseType ( )
inlineprotected

Definition at line 58 of file FONcBaseType.h.

virtual FONcBaseType::~FONcBaseType ( )
inlinevirtual

Definition at line 61 of file FONcBaseType.h.

Member Function Documentation

void FONcBaseType::clear_embedded ( )
virtual

Clears the list of embedded variable names.

Definition at line 95 of file FONcBaseType.cc.

References _embed.

Referenced by FONcMap::clear_embedded().

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

Reimplemented in FONcArray, FONcGrid, FONcStructure, and FONcSequence.

Definition at line 41 of file FONcBaseType.cc.

References _embed, _varname, and name().

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

Here is the call graph for this function:

void FONcBaseType::define ( int  ncid)
virtual

Define the variable in the netcdf file.

This method creates this variable in the netcdf file. This implementation is used for only simple types (byte, short, int, float, double), and not for the complex types (str, structure, array, grid, sequence)

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

Reimplemented in FONcArray, FONcGrid, FONcStructure, FONcStr, FONcByte, FONcSequence, FONcDouble, FONcFloat, FONcInt, and FONcShort.

Definition at line 58 of file FONcBaseType.cc.

References _defined, _embed, _orig_varname, _varid, _varname, BESDEBUG, FONcUtils::gen_name(), FONcUtils::handle_error(), NULL, and type().

Referenced by FONcDouble::define(), FONcInt::define(), FONcShort::define(), FONcFloat::define(), FONcByte::define(), FONcStructure::define(), and FONcTransform::transform().

Here is the call graph for this function:

virtual void FONcBaseType::dump ( ostream &  strm) const
pure virtual

dump the contents of this object to the specified ostream

This method is implemented by all derived classes to dump their contents, in other words, any state they might have, private variables, etc...

The inline function below can be used to dump the contents of an OPeNDAOObj object. For example, the object Animal is derived from BESObj. A user could do the following:

Animal *a = new dog( "Sparky" ) ; cout << a << endl ;

And the dump method for dog could display the name passed into the constructor, the (this) pointer of the object, etc...

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

Implements BESObj.

Implemented in FONcArray, FONcGrid, FONcStr, FONcStructure, FONcByte, FONcDouble, FONcFloat, FONcInt, FONcSequence, and FONcShort.

Referenced by FONcStructure::dump(), and FONcTransform::dump().

bool FONcBaseType::isNetCDF4 ( )
virtual

Returns true if NetCDF4 features will be required.

Definition at line 112 of file FONcBaseType.cc.

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

Referenced by FONcArray::define().

Here is the call graph for this function:

virtual string FONcBaseType::name ( )
pure virtual
void FONcBaseType::setVersion ( string  version)
virtual

Identifies variable with use of NetCDF4 features.

Definition at line 102 of file FONcBaseType.cc.

References _ncVersion, and BESDEBUG.

nc_type FONcBaseType::type ( )
virtual

Returns the type of data of this variable.

This implementation of the method returns the default type of data. Subclasses of FONcBaseType will return the specific type of data for simple types

Reimplemented in FONcStr, FONcByte, FONcDouble, FONcFloat, FONcInt, and FONcShort.

Definition at line 87 of file FONcBaseType.cc.

Referenced by define().

virtual int FONcBaseType::varid ( )
inlinevirtual

Definition at line 70 of file FONcBaseType.h.

virtual void FONcBaseType::write ( int  )
inlinevirtual

Member Data Documentation

vector<string> FONcBaseType::_embed
protected

Definition at line 54 of file FONcBaseType.h.

Referenced by clear_embedded(), convert(), FONcGrid::convert(), FONcStr::define(), and define().

string FONcBaseType::_ncVersion
protected

Definition at line 56 of file FONcBaseType.h.

Referenced by isNetCDF4(), and setVersion().


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