bes Updated for version 3.20.13
|
Concrete class for NcML <variable> element. More...
#include <VariableElement.h>
Public Member Functions | |
void | addPreDeleteCB (UseCountHitZeroCB *pCB) |
bool | checkGotValues () const |
virtual VariableElement * | clone () const |
virtual int | getRefCount () const |
virtual const string & | getTypeName () const |
virtual void | handleBegin () |
virtual void | handleContent (const std::string &content) |
virtual void | handleContent (const string &content) |
virtual void | handleEnd () |
bool | isNewVariable () const |
int | line () const |
const std::string | name () const |
const std::string | orgName () const |
virtual int | ref () const |
virtual void | removeFromPool () const |
void | removePreDeleteCB (UseCountHitZeroCB *pCB) |
virtual void | setAttributes (const XMLAttributeMap &attrs) |
void | setGotValues () |
void | setParser (NCMLParser *p) |
const std::string | shape () const |
virtual string | toString () const |
const std::string | type () const |
virtual int | unref () const |
virtual bool | validateAttributes (const XMLAttributeMap &attrs, const std::vector< std::string > &validAttrs, std::vector< std::string > *pInvalidAttrs=0, bool printInvalid=true, bool throwOnError=true) |
VariableElement (const VariableElement &proto) | |
Static Public Member Functions | |
static bool | areAllAttributesValid (const XMLAttributeMap &attrMap, const std::vector< std::string > &validAttrs, std::vector< std::string > *pInvalidAttributes=0) |
static bool | isValidAttribute (const std::vector< std::string > &validAttrs, const std::string &attr) |
static std::string | printAttributeIfNotEmpty (const std::string &attrName, const std::string &attrValue) |
Static Public Attributes | |
static const string | _sTypeName = "variable" |
static const vector< string > | _sValidAttributes = getValidAttributes() |
Protected Attributes | |
NCMLParser * | _parser |
Concrete class for NcML <variable> element.
This class handles the processing of <variable> elements in the NcML.
The class handles all processing of variables, including setting lexical scope in the parser to the variable's attribute table, renaming variables, and creating new variables.
_isNewVariable specifies if the variable was created new in this NcML parse, or was just a lexical scope. _gotValues specifies if the variable had a contained <values> element processed on it yet.
On handleEnd(), if _isNewVariable && !_gotValues, a parse error is thrown.
It is also an error to specify a second <values> element if _gotValues.
Definition at line 58 of file VariableElement.h.
ncml_module::VariableElement::VariableElement | ( | ) |
Definition at line 61 of file VariableElement.cc.
ncml_module::VariableElement::VariableElement | ( | const VariableElement & | proto | ) |
Definition at line 67 of file VariableElement.cc.
|
virtual |
Definition at line 79 of file VariableElement.cc.
|
inherited |
Add uniquely. If it is added agan, the second time is ignored.
Definition at line 129 of file RCObject.cc.
|
staticinherited |
Definition at line 229 of file NCMLElement.cc.
bool ncml_module::VariableElement::checkGotValues | ( | ) | const |
Definition at line 141 of file VariableElement.cc.
|
virtual |
Make and return a copy of this. Used by the factory from a prototype.
Implements ncml_module::NCMLElement.
Definition at line 93 of file VariableElement.cc.
|
virtualinherited |
Get the current reference count
Implements agg_util::RCObjectInterface.
Definition at line 101 of file RCObject.cc.
|
virtual |
Return the type of the element, which should be: the same as ConcreteClassName::getTypeName()
Implements ncml_module::NCMLElement.
Definition at line 87 of file VariableElement.cc.
|
virtual |
Handle a begin on this element. Called after creation and it is assumed the attributes and _parser are already set.
Implements ncml_module::NCMLElement.
Definition at line 108 of file VariableElement.cc.
|
virtualinherited |
Handle the characters content for the element. Default impl throws if the content is not all whitespace. Subclasses that handle non-whitespace content should override.
content | the string of characters in the element content. |
Reimplemented in ncml_module::DimensionElement, ncml_module::ExplicitElement, ncml_module::NetcdfElement, ncml_module::ReadMetadataElement, ncml_module::RemoveElement, ncml_module::ScanElement, and ncml_module::ValuesElement.
Definition at line 165 of file NCMLElement.cc.
|
virtual |
Definition at line 114 of file VariableElement.cc.
|
virtual |
Handle the closing of this element.
Implements ncml_module::NCMLElement.
Definition at line 124 of file VariableElement.cc.
bool ncml_module::VariableElement::isNewVariable | ( | ) | const |
Definition at line 136 of file VariableElement.cc.
|
staticinherited |
Definition at line 217 of file NCMLElement.cc.
|
inherited |
Return the current parse line number. Shorthand
Definition at line 160 of file NCMLElement.cc.
|
inline |
Definition at line 77 of file VariableElement.h.
|
inline |
Definition at line 92 of file VariableElement.h.
|
staticinherited |
Helper for subclasses implementing toString().
Definition at line 212 of file NCMLElement.cc.
|
virtualinherited |
Increase the reference count by one. const since we do not consider the ref count part of the semantic constness of the rep
Implements agg_util::RCObjectInterface.
Definition at line 71 of file RCObject.cc.
|
virtualinherited |
If the object is in an auto-delete pool, remove it from the pool and force it to only delete when it's ref count goes to 0. Useful when we desire a particular object stay around outside of the pool's lifetime.
Implements agg_util::RCObjectInterface.
Definition at line 106 of file RCObject.cc.
|
inherited |
Remove it exists. If not, this unchanged.
Definition at line 142 of file RCObject.cc.
|
virtual |
Set the attributes of this from the map.
attrs | the attribute map to set this class to. |
Implements ncml_module::NCMLElement.
Definition at line 98 of file VariableElement.cc.
void ncml_module::VariableElement::setGotValues | ( | ) |
Called once we set the values from ValuesElement so we are aware.
Definition at line 146 of file VariableElement.cc.
|
inherited |
Definition at line 153 of file NCMLElement.cc.
|
inline |
Definition at line 87 of file VariableElement.h.
|
virtual |
Return a string describing the element
Implements ncml_module::NCMLElement.
Definition at line 129 of file VariableElement.cc.
|
inline |
Definition at line 82 of file VariableElement.h.
|
virtualinherited |
Decrease the reference count by one. If it goes from 1 to 0, delete this and this is no longer valid.
It is illegal to unref() an object with a count of 0. We don't throw to allow use in dtors, so the caller is assumed not to do it!
const since the reference count is not part of the semantic constness of the rep
Implements agg_util::RCObjectInterface.
Definition at line 78 of file RCObject.cc.
|
virtualinherited |
Check that the given attributes are all in the valid set, otherwise fill in *pInvalidAttrs with the problematic ones if it's not null. If pInvalidAttrs && printInvalid is set, we print the problematic attributes to BESDEBUG "ncml" channel If throwOnError is set, we throw a parse error instead of returning.
Definition at line 174 of file NCMLElement.cc.
|
protectedinherited |
Definition at line 187 of file NCMLElement.h.
|
static |
Definition at line 63 of file VariableElement.h.
|
static |
Definition at line 64 of file VariableElement.h.