In file MetadataProcessing.h:

class MetadataProcessing

Combine DAS with DDS information for a dataset

Inheritance:


Public Methods

MetadataProcessing(DDS &dds)
Create an instance bassed on the #dds#
void transfer_attributes(DAS &das)
Using a dataset's DAS object, load the corresponding variables with attribute information

Protected Fields

DDS meta_dds
This DDS holds instances of variables which contain AttrTables

Protected Methods

MetadataProcessing()
Allow only children to create an empty MetadataProcessing object
void transfer_attr(DAS &das, BaseType &bt)
Search, using names, for the attribtue container that's got the same name as the variable #btp#
void add_global_attributes(DAS &das, string global_cont_name)
Scan the DAS for global attributes (attribute containers which don't match any top-level variable)

Documentation

Combine DAS with DDS information for a dataset. The DDS is used to find the structure of the dataset (something that the DAS currently lacks). An instance of this class is first initialized using a DDS (which must contain variables meeting certain requirements described later) and then information is transferred from the dataset's DAS. Children of this class can then write this information, etc. The class also has methods which can remove extra variables currently added to the DDS by some servers and which can add a #size# attribute to a variable (whcih provides a way for other programs to learn about the dimensionality of a variable without first working with the DDS. This class depends on the DDS containing variables which inherit from both the DODS variable types (Byte, ..., Grid) and AttrTable. Methods of this class move information from the AttrTable objects of the DAS to the AttrTable objects of the variables in the DDS. In this way the structure of the attributes mirrors that of the dataset's author. This class' design is a test of the more general idea of combining the information currently spread between the DAS and DDS objects.
DDS meta_dds
This DDS holds instances of variables which contain AttrTables. To work, each variable must be an instance of a class which inherits from AttrTable in addition to the DODS variable classes.

MetadataProcessing()
Allow only children to create an empty MetadataProcessing object

void transfer_attr(DAS &das, BaseType &bt)
Search, using names, for the attribtue container that's got the same name as the variable #btp#. This method is not very smart and will not know what to do if two containers/variables have the same name.

void add_global_attributes(DAS &das, string global_cont_name)
Scan the DAS for global attributes (attribute containers which don't match any top-level variable). Create a new variable called #global_cont_name# and copy the global attribute containers to it.
Parameters:
das - The DAS object from which to read attribute information.
global - \_cont\_name The name to give the additional variable which will hold the global attributes.

MetadataProcessing(DDS &dds)
Create an instance bassed on the #dds#. Variables in the DDS must inherit from both the DODS variable classes and AttrTable.
Parameters:
dds - A DDS whose structure forms the basis for the combined DAS and DDS information.

void transfer_attributes(DAS &das)
Using a dataset's DAS object, load the corresponding variables with attribute information. This method assumes that the DDS contains varaibles that inherit from both BaseType and AttrTable. The DAS and DDS should be from the same dataset, but this constructor does not check for that.
Parameters:
das - The dataset's DAS object.


Direct child classes:
LoaddodsProcessing
Author:
jhrg
See Also:
DAS
DDS
writeval

alphabetic index hierarchy of classes


generated by doc++