|
OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
Wrapper for the BaseTypeFactory that lets us create by type name. More...
#include <MyBaseTypeFactory.h>

Static Public Member Functions | |
| static libdap::Type | getType (const string &name) |
| Get the Type enumeration value which matches the given name. More... | |
| static bool | isArrayTemplate (const string &typeName) |
| static bool | isSimpleType (const string &typeName) |
| static std::auto_ptr< libdap::Array > | makeArrayTemplateVariable (const string &type, const string &name, bool addTemplateVar) |
| Make an Array<T> where T is the DAP simple type for the values in the Array. More... | |
| static std::auto_ptr< libdap::BaseType > | makeVariable (const libdap::Type &type, const string &name) |
| Return a new variable of the given type. More... | |
| static std::auto_ptr< libdap::BaseType > | makeVariable (const string &type, const string &name) |
| Return a new variable of the given type name. More... | |
Protected Member Functions | |
| MyBaseTypeFactory () | |
| virtual | ~MyBaseTypeFactory () |
Wrapper for the BaseTypeFactory that lets us create by type name.
The regular BaseTypeFactory doesn't have a factory method by type name, so this wrapper will add the desired functionality. It is a static class rather than a subclass.
Note that we can create normal libdap::Array by name, but this is deprecated since it fails with constraints. We have added special functionality for Array<T> to define an NCMLArray<T> as the return type. This allows hyperslab constraints to work.
Definition at line 59 of file MyBaseTypeFactory.h.
|
protected |
Definition at line 60 of file MyBaseTypeFactory.cc.
|
protectedvirtual |
Definition at line 64 of file MyBaseTypeFactory.cc.
|
static |
Get the Type enumeration value which matches the given name.
Definition at line 148 of file MyBaseTypeFactory.cc.
|
static |
Definition at line 240 of file MyBaseTypeFactory.cc.
|
static |
Definition at line 220 of file MyBaseTypeFactory.cc.
|
static |
Make an Array<T> where T is the DAP simple type for the values in the Array.
This creates the proper template class of NCMLArray<T> now rather than Array so we can handle constraints.
| type | the parameterized name of the Array type, e.g. "Array<String>", Array<UInt32>, etc. |
| name | the name to give the new Array |
| addTemplateVar | whether to create and add the template var so that var() is non-null. |
Definition at line 247 of file MyBaseTypeFactory.cc.
References THROW_NCML_INTERNAL_ERROR.
|
static |
Return a new variable of the given type.
| type | the DAP type |
| name | the name to give the new variable |
Definition at line 69 of file MyBaseTypeFactory.cc.
References THROW_NCML_INTERNAL_ERROR.
Referenced by ncml_module::NCMLBaseArray::createFromArray().
|
static |
Return a new variable of the given type name.
Return null if type is not valid.
| type | the DAP type to create. |
| name | the name to give the new variable |
Definition at line 132 of file MyBaseTypeFactory.cc.