32#ifndef FONcBaseType_h_
33#define FONcBaseType_h_ 1
39#include <libdap/AttrTable.h>
40#include <libdap/D4Attributes.h>
41#include <libdap/D4AttributeType.h>
49class ConstraintEvaluator;
64 std::string _orig_varname;
65 std::vector<std::string> _embed;
67 std::string _ncVersion;
68 std::string _nc4_datamodel;
75 libdap::ConstraintEvaluator *d_eval;
77 FONcBaseType() : _varid(0), _defined(
false), is_dap4(
false), is_dap4_group(
false), d_dds(
nullptr), d_eval(
nullptr) { }
82 libdap::DDS *get_dds()
const {
return d_dds;}
83 void set_dds(libdap::DDS *dds) {d_dds = dds;}
85 libdap::ConstraintEvaluator *get_eval()
const {
return d_eval;}
86 void set_eval(libdap::ConstraintEvaluator *eval) {d_eval = eval;}
88 virtual void convert(std::vector<std::string> embed,
bool is_dap4=
false,
bool is_dap4_group=
false);
89 virtual void define(
int ncid);
90 virtual void write(
int ncid) = 0;
92 virtual std::string name() = 0;
93 virtual nc_type
type();
95 virtual int varid()
const {
return _varid; }
97 virtual void dump(std::ostream &strm)
const = 0;
99 virtual void setVersion(
const std::string &version);
102 virtual bool isNetCDF4_ENHANCED();
103 virtual void set_is_dap4(
bool set_dap4) {is_dap4 = set_dap4;}
104 virtual libdap::AttrType getAttrType(nc_type t);
105 virtual D4AttributeType getD4AttrType(nc_type t);
106 virtual void updateD4AttrType(libdap::D4Attributes *d4_attrs, nc_type t);
107 virtual void updateAttrType(libdap::AttrTable& attrs, nc_type t);
top level BES object to house generic methods
A DAP BaseType with file out netcdf information included.
virtual void define(int ncid)
Define the variable in the netcdf file.
virtual bool isNetCDF4()
Returns true if NetCDF4 features will be required.
virtual nc_type type()
Returns the type of data of this variable.
virtual void clear_embedded()
Clears the list of embedded variable names.
virtual void setNC4DataModel(const string &nc4_datamodel)
Identifies the netCDF4 data model (CLASSIC or ENHANCED)
virtual void setVersion(const std::string &version)
Identifies variable with use of NetCDF4 features.
virtual void dump(std::ostream &strm) const =0
dump the contents of this object to the specified ostream