bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
ncml_module::RenamedArrayWrapper Class Reference

A Decorator Pattern for wrapping a libdap::Array in order to change its name efficiently in the face of buggy subclasses we cannot change. More...

#include <RenamedArrayWrapper.h>

Inheritance diagram for ncml_module::RenamedArrayWrapper:
Inheritance graph
Collaboration diagram for ncml_module::RenamedArrayWrapper:
Collaboration graph

Public Member Functions

virtual void add_constraint (Dim_iter i, int start, int stride, int stop)
 Wrappers.
 
virtual void add_var (BaseType *bt, Part part=nil)
 
virtual void add_var_nocopy (BaseType *bt, Part part=nil)
 
virtual unsigned int buf2val (void **val)
 
virtual void clear_constraint ()
 
virtual bool deserialize (UnMarshaller &um, DDS *dds, bool reuse=false)
 
virtual void dump (ostream &strm) const
 
virtual void intern_data (ConstraintEvaluator &eval, DDS &dds)
 
RenamedArrayWrapperoperator= (const RenamedArrayWrapper &rhs)
 
virtual RenamedArrayWrapperptr_duplicate ()
 
virtual bool read ()
 
virtual bool read_p ()
 
 RenamedArrayWrapper (const RenamedArrayWrapper &proto)
 
 RenamedArrayWrapper (libdap::Array *toBeWrapped)
 
virtual void reset_constraint ()
 
virtual bool send_p ()
 
virtual bool serialize (ConstraintEvaluator &eval, DDS &dds, Marshaller &m, bool ce_eval=true)
 
virtual void set_read_p (bool state)
 
virtual void set_send_p (bool state)
 
virtual bool set_value (dods_byte *val, int sz)
 
virtual bool set_value (dods_float32 *val, int sz)
 
virtual bool set_value (dods_float64 *val, int sz)
 
virtual bool set_value (dods_int16 *val, int sz)
 
virtual bool set_value (dods_int32 *val, int sz)
 
virtual bool set_value (dods_int64 *val, int sz)
 
virtual bool set_value (dods_int8 *val, int sz)
 
virtual bool set_value (dods_uint16 *val, int sz)
 
virtual bool set_value (dods_uint32 *val, int sz)
 
virtual bool set_value (dods_uint64 *val, int sz)
 
virtual bool set_value (string *val, int sz)
 
virtual bool set_value (vector< dods_byte > &val, int sz)
 
virtual bool set_value (vector< dods_float32 > &val, int sz)
 
virtual bool set_value (vector< dods_float64 > &val, int sz)
 
virtual bool set_value (vector< dods_int16 > &val, int sz)
 
virtual bool set_value (vector< dods_int32 > &val, int sz)
 
virtual bool set_value (vector< dods_int64 > &val, int sz)
 
virtual bool set_value (vector< dods_int8 > &val, int sz)
 
virtual bool set_value (vector< dods_uint16 > &val, int sz)
 
virtual bool set_value (vector< dods_uint32 > &val, int sz)
 
virtual bool set_value (vector< dods_uint64 > &val, int sz)
 
virtual bool set_value (vector< string > &val, int sz)
 
virtual string toString ()
 
virtual string toString () const
 
virtual unsigned int val2buf (void *val, bool reuse=false)
 
virtual void * value ()
 
virtual void value (dods_byte *b) const
 
virtual void value (dods_float32 *b) const
 
virtual void value (dods_float64 *b) const
 
virtual void value (dods_int16 *b) const
 
virtual void value (dods_int32 *b) const
 
virtual void value (dods_int64 *b) const
 
virtual void value (dods_int8 *b) const
 
virtual void value (dods_uint16 *b) const
 
virtual void value (dods_uint32 *b) const
 
virtual void value (dods_uint64 *b) const
 
virtual void value (vector< string > &b) const
 
virtual void value (vector< unsigned int > *index, vector< string > &b) const
 
virtual void value (vector< unsigned int > *indices, dods_byte *b) const
 
virtual void value (vector< unsigned int > *indices, dods_float32 *b) const
 
virtual void value (vector< unsigned int > *indices, dods_float64 *b) const
 
virtual void value (vector< unsigned int > *indices, dods_int16 *b) const
 
virtual void value (vector< unsigned int > *indices, dods_int32 *b) const
 
virtual void value (vector< unsigned int > *indices, dods_int64 *b) const
 
virtual void value (vector< unsigned int > *indices, dods_int8 *b) const
 
virtual void value (vector< unsigned int > *indices, dods_uint16 *b) const
 
virtual void value (vector< unsigned int > *indices, dods_uint32 *b) const
 
virtual void value (vector< unsigned int > *indices, dods_uint64 *b) const
 
virtual BaseType * var (const string &name, btp_stack &s)
 
virtual BaseType * var (const string &name="", bool exact_match=true, btp_stack *s=0)
 

Detailed Description

A Decorator Pattern for wrapping a libdap::Array in order to change its name efficiently in the face of buggy subclasses we cannot change.

Unfortunately, this is needed to get around problems with subclasses requiring the old name for lazy loads even though set_name was called. This causes them to exception, which is bad. In particular, NCArray doesn't handle set_name properly and will fail to serialize.

Rather than seek out and make changes to fix these bugs, the temporary solution will be to wrap the Array to rename in this class. Almost all virtual functions will be passed through to the wrapped array, which will retain its original name for purposes of read(), but will be forced to use the new name when serializing.

Definition at line 60 of file RenamedArrayWrapper.h.

Constructor & Destructor Documentation

◆ RenamedArrayWrapper() [1/3]

ncml_module::RenamedArrayWrapper::RenamedArrayWrapper ( )

Definition at line 47 of file RenamedArrayWrapper.cc.

◆ RenamedArrayWrapper() [2/3]

ncml_module::RenamedArrayWrapper::RenamedArrayWrapper ( const RenamedArrayWrapper & proto)

Definition at line 52 of file RenamedArrayWrapper.cc.

◆ RenamedArrayWrapper() [3/3]

ncml_module::RenamedArrayWrapper::RenamedArrayWrapper ( libdap::Array * toBeWrapped)

Hand off the given Array* to be wrapped by this class. The memory is relinquished to this class.

Definition at line 59 of file RenamedArrayWrapper.cc.

◆ ~RenamedArrayWrapper()

ncml_module::RenamedArrayWrapper::~RenamedArrayWrapper ( )
virtual

Definition at line 68 of file RenamedArrayWrapper.cc.

Member Function Documentation

◆ add_constraint()

void ncml_module::RenamedArrayWrapper::add_constraint ( Dim_iter i,
int start,
int stride,
int stop )
virtual

Wrappers.

Definition at line 94 of file RenamedArrayWrapper.cc.

◆ add_var()

void ncml_module::RenamedArrayWrapper::add_var ( BaseType * bt,
Part part = nil )
virtual

Definition at line 248 of file RenamedArrayWrapper.cc.

◆ add_var_nocopy()

void ncml_module::RenamedArrayWrapper::add_var_nocopy ( BaseType * bt,
Part part = nil )
virtual

Definition at line 253 of file RenamedArrayWrapper.cc.

◆ buf2val()

unsigned int ncml_module::RenamedArrayWrapper::buf2val ( void ** val)
virtual

Definition at line 353 of file RenamedArrayWrapper.cc.

◆ clear_constraint()

void ncml_module::RenamedArrayWrapper::clear_constraint ( )
virtual
Deprecated

Definition at line 107 of file RenamedArrayWrapper.cc.

◆ deserialize()

bool ncml_module::RenamedArrayWrapper::deserialize ( UnMarshaller & um,
DDS * dds,
bool reuse = false )
virtual

Definition at line 684 of file RenamedArrayWrapper.cc.

◆ dump()

void ncml_module::RenamedArrayWrapper::dump ( ostream & strm) const
virtual

Definition at line 127 of file RenamedArrayWrapper.cc.

◆ intern_data()

void ncml_module::RenamedArrayWrapper::intern_data ( ConstraintEvaluator & eval,
DDS & dds )
virtual

Definition at line 638 of file RenamedArrayWrapper.cc.

◆ operator=()

RenamedArrayWrapper & ncml_module::RenamedArrayWrapper::operator= ( const RenamedArrayWrapper & rhs)

Definition at line 80 of file RenamedArrayWrapper.cc.

◆ ptr_duplicate()

RenamedArrayWrapper * ncml_module::RenamedArrayWrapper::ptr_duplicate ( )
virtual

Definition at line 74 of file RenamedArrayWrapper.cc.

◆ read()

bool ncml_module::RenamedArrayWrapper::read ( )
virtual

Definition at line 612 of file RenamedArrayWrapper.cc.

◆ read_p()

bool ncml_module::RenamedArrayWrapper::read_p ( )
virtual

Definition at line 172 of file RenamedArrayWrapper.cc.

◆ reset_constraint()

void ncml_module::RenamedArrayWrapper::reset_constraint ( )
virtual

Definition at line 101 of file RenamedArrayWrapper.cc.

◆ send_p()

bool ncml_module::RenamedArrayWrapper::send_p ( )
virtual

Definition at line 183 of file RenamedArrayWrapper.cc.

◆ serialize()

bool ncml_module::RenamedArrayWrapper::serialize ( ConstraintEvaluator & eval,
DDS & dds,
Marshaller & m,
bool ce_eval = true )
virtual

Definition at line 677 of file RenamedArrayWrapper.cc.

◆ set_read_p()

void ncml_module::RenamedArrayWrapper::set_read_p ( bool state)
virtual

Definition at line 177 of file RenamedArrayWrapper.cc.

◆ set_send_p()

void ncml_module::RenamedArrayWrapper::set_send_p ( bool state)
virtual

Definition at line 188 of file RenamedArrayWrapper.cc.

◆ set_value() [1/22]

bool ncml_module::RenamedArrayWrapper::set_value ( dods_byte * val,
int sz )
virtual

Definition at line 371 of file RenamedArrayWrapper.cc.

◆ set_value() [2/22]

bool ncml_module::RenamedArrayWrapper::set_value ( dods_float32 * val,
int sz )
virtual

Definition at line 379 of file RenamedArrayWrapper.cc.

◆ set_value() [3/22]

bool ncml_module::RenamedArrayWrapper::set_value ( dods_float64 * val,
int sz )
virtual

Definition at line 380 of file RenamedArrayWrapper.cc.

◆ set_value() [4/22]

bool ncml_module::RenamedArrayWrapper::set_value ( dods_int16 * val,
int sz )
virtual

Definition at line 373 of file RenamedArrayWrapper.cc.

◆ set_value() [5/22]

bool ncml_module::RenamedArrayWrapper::set_value ( dods_int32 * val,
int sz )
virtual

Definition at line 375 of file RenamedArrayWrapper.cc.

◆ set_value() [6/22]

bool ncml_module::RenamedArrayWrapper::set_value ( dods_int64 * val,
int sz )
virtual

Definition at line 377 of file RenamedArrayWrapper.cc.

◆ set_value() [7/22]

bool ncml_module::RenamedArrayWrapper::set_value ( dods_int8 * val,
int sz )
virtual

Definition at line 372 of file RenamedArrayWrapper.cc.

◆ set_value() [8/22]

bool ncml_module::RenamedArrayWrapper::set_value ( dods_uint16 * val,
int sz )
virtual

Definition at line 374 of file RenamedArrayWrapper.cc.

◆ set_value() [9/22]

bool ncml_module::RenamedArrayWrapper::set_value ( dods_uint32 * val,
int sz )
virtual

Definition at line 376 of file RenamedArrayWrapper.cc.

◆ set_value() [10/22]

bool ncml_module::RenamedArrayWrapper::set_value ( dods_uint64 * val,
int sz )
virtual

Definition at line 378 of file RenamedArrayWrapper.cc.

◆ set_value() [11/22]

bool ncml_module::RenamedArrayWrapper::set_value ( string * val,
int sz )
virtual

Definition at line 381 of file RenamedArrayWrapper.cc.

◆ set_value() [12/22]

bool ncml_module::RenamedArrayWrapper::set_value ( vector< dods_byte > & val,
int sz )
virtual

Definition at line 389 of file RenamedArrayWrapper.cc.

◆ set_value() [13/22]

bool ncml_module::RenamedArrayWrapper::set_value ( vector< dods_float32 > & val,
int sz )
virtual

Definition at line 397 of file RenamedArrayWrapper.cc.

◆ set_value() [14/22]

bool ncml_module::RenamedArrayWrapper::set_value ( vector< dods_float64 > & val,
int sz )
virtual

Definition at line 398 of file RenamedArrayWrapper.cc.

◆ set_value() [15/22]

bool ncml_module::RenamedArrayWrapper::set_value ( vector< dods_int16 > & val,
int sz )
virtual

Definition at line 391 of file RenamedArrayWrapper.cc.

◆ set_value() [16/22]

bool ncml_module::RenamedArrayWrapper::set_value ( vector< dods_int32 > & val,
int sz )
virtual

Definition at line 393 of file RenamedArrayWrapper.cc.

◆ set_value() [17/22]

bool ncml_module::RenamedArrayWrapper::set_value ( vector< dods_int64 > & val,
int sz )
virtual

Definition at line 395 of file RenamedArrayWrapper.cc.

◆ set_value() [18/22]

bool ncml_module::RenamedArrayWrapper::set_value ( vector< dods_int8 > & val,
int sz )
virtual

Definition at line 390 of file RenamedArrayWrapper.cc.

◆ set_value() [19/22]

bool ncml_module::RenamedArrayWrapper::set_value ( vector< dods_uint16 > & val,
int sz )
virtual

Definition at line 392 of file RenamedArrayWrapper.cc.

◆ set_value() [20/22]

bool ncml_module::RenamedArrayWrapper::set_value ( vector< dods_uint32 > & val,
int sz )
virtual

Definition at line 394 of file RenamedArrayWrapper.cc.

◆ set_value() [21/22]

bool ncml_module::RenamedArrayWrapper::set_value ( vector< dods_uint64 > & val,
int sz )
virtual

Definition at line 396 of file RenamedArrayWrapper.cc.

◆ set_value() [22/22]

bool ncml_module::RenamedArrayWrapper::set_value ( vector< string > & val,
int sz )
virtual

Definition at line 399 of file RenamedArrayWrapper.cc.

◆ toString() [1/2]

string ncml_module::RenamedArrayWrapper::toString ( )
virtual

Definition at line 114 of file RenamedArrayWrapper.cc.

◆ toString() [2/2]

string ncml_module::RenamedArrayWrapper::toString ( ) const
virtual

Definition at line 119 of file RenamedArrayWrapper.cc.

◆ val2buf()

unsigned int ncml_module::RenamedArrayWrapper::val2buf ( void * val,
bool reuse = false )
virtual

Definition at line 359 of file RenamedArrayWrapper.cc.

◆ value() [1/22]

void * ncml_module::RenamedArrayWrapper::value ( )
virtual

Definition at line 591 of file RenamedArrayWrapper.cc.

◆ value() [2/22]

void ncml_module::RenamedArrayWrapper::value ( dods_byte * b) const
virtual

Definition at line 507 of file RenamedArrayWrapper.cc.

◆ value() [3/22]

void ncml_module::RenamedArrayWrapper::value ( dods_float32 * b) const
virtual

Definition at line 515 of file RenamedArrayWrapper.cc.

◆ value() [4/22]

void ncml_module::RenamedArrayWrapper::value ( dods_float64 * b) const
virtual

Definition at line 516 of file RenamedArrayWrapper.cc.

◆ value() [5/22]

void ncml_module::RenamedArrayWrapper::value ( dods_int16 * b) const
virtual

Definition at line 509 of file RenamedArrayWrapper.cc.

◆ value() [6/22]

void ncml_module::RenamedArrayWrapper::value ( dods_int32 * b) const
virtual

Definition at line 511 of file RenamedArrayWrapper.cc.

◆ value() [7/22]

void ncml_module::RenamedArrayWrapper::value ( dods_int64 * b) const
virtual

Definition at line 513 of file RenamedArrayWrapper.cc.

◆ value() [8/22]

void ncml_module::RenamedArrayWrapper::value ( dods_int8 * b) const
virtual

Definition at line 508 of file RenamedArrayWrapper.cc.

◆ value() [9/22]

void ncml_module::RenamedArrayWrapper::value ( dods_uint16 * b) const
virtual

Definition at line 510 of file RenamedArrayWrapper.cc.

◆ value() [10/22]

void ncml_module::RenamedArrayWrapper::value ( dods_uint32 * b) const
virtual

Definition at line 512 of file RenamedArrayWrapper.cc.

◆ value() [11/22]

void ncml_module::RenamedArrayWrapper::value ( dods_uint64 * b) const
virtual

Definition at line 514 of file RenamedArrayWrapper.cc.

◆ value() [12/22]

void ncml_module::RenamedArrayWrapper::value ( vector< string > & b) const
virtual

Definition at line 517 of file RenamedArrayWrapper.cc.

◆ value() [13/22]

void ncml_module::RenamedArrayWrapper::value ( vector< unsigned int > * indices,
dods_byte * b ) const
virtual

Definition at line 576 of file RenamedArrayWrapper.cc.

◆ value() [14/22]

void ncml_module::RenamedArrayWrapper::value ( vector< unsigned int > * indices,
dods_float32 * b ) const
virtual

Definition at line 584 of file RenamedArrayWrapper.cc.

◆ value() [15/22]

void ncml_module::RenamedArrayWrapper::value ( vector< unsigned int > * indices,
dods_float64 * b ) const
virtual

Definition at line 585 of file RenamedArrayWrapper.cc.

◆ value() [16/22]

void ncml_module::RenamedArrayWrapper::value ( vector< unsigned int > * indices,
dods_int16 * b ) const
virtual

Definition at line 578 of file RenamedArrayWrapper.cc.

◆ value() [17/22]

void ncml_module::RenamedArrayWrapper::value ( vector< unsigned int > * indices,
dods_int32 * b ) const
virtual

Definition at line 580 of file RenamedArrayWrapper.cc.

◆ value() [18/22]

void ncml_module::RenamedArrayWrapper::value ( vector< unsigned int > * indices,
dods_int64 * b ) const
virtual

Definition at line 582 of file RenamedArrayWrapper.cc.

◆ value() [19/22]

void ncml_module::RenamedArrayWrapper::value ( vector< unsigned int > * indices,
dods_int8 * b ) const
virtual

Definition at line 577 of file RenamedArrayWrapper.cc.

◆ value() [20/22]

void ncml_module::RenamedArrayWrapper::value ( vector< unsigned int > * indices,
dods_uint16 * b ) const
virtual

Definition at line 579 of file RenamedArrayWrapper.cc.

◆ value() [21/22]

void ncml_module::RenamedArrayWrapper::value ( vector< unsigned int > * indices,
dods_uint32 * b ) const
virtual

Definition at line 581 of file RenamedArrayWrapper.cc.

◆ value() [22/22]

void ncml_module::RenamedArrayWrapper::value ( vector< unsigned int > * indices,
dods_uint64 * b ) const
virtual

Definition at line 583 of file RenamedArrayWrapper.cc.

◆ var() [1/2]

BaseType * ncml_module::RenamedArrayWrapper::var ( const string & name,
btp_stack & s )
virtual

Definition at line 243 of file RenamedArrayWrapper.cc.

◆ var() [2/2]

BaseType * ncml_module::RenamedArrayWrapper::var ( const string & name = "",
bool exact_match = true,
btp_stack * s = 0 )
virtual

Definition at line 237 of file RenamedArrayWrapper.cc.


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