OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
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. More...
 
virtual void add_var (BaseType *bt, Part part=nil)
 
virtual unsigned int buf2val (void **val)
 
virtual bool check_semantics (string &msg, bool all=false)
 
virtual void clear_constraint ()
 
virtual bool deserialize (UnMarshaller &um, DDS *dds, bool reuse=false)
 
virtual void dump (ostream &strm) const
 
virtual int element_count (bool leaves=false)
 
virtual libdap::AttrTable & get_attr_table ()
 We don't keep our own... More...
 
virtual BaseType * get_parent () const
 
virtual void intern_data (ConstraintEvaluator &eval, DDS &dds)
 
virtual bool is_constructor_type () const
 
virtual bool is_in_selection ()
 
virtual bool is_simple_type () const
 
virtual bool is_vector_type () const
 
RenamedArrayWrapperoperator= (const RenamedArrayWrapper &rhs)
 
virtual bool ops (BaseType *b, int op)
 
virtual void print_decl (ostream &out, string space=" ", bool print_semi=true, bool constraint_info=false, bool constrained=false)
 
virtual void print_val (ostream &out, string space="", bool print_decl_p=true)
 
virtual void print_xml (ostream &out, string space=" ", bool constrained=false)
 
virtual RenamedArrayWrapperptr_duplicate ()
 
virtual bool read ()
 
virtual bool read_p ()
 
 RenamedArrayWrapper ()
 
 RenamedArrayWrapper (const RenamedArrayWrapper &proto)
 
 RenamedArrayWrapper (libdap::Array *toBeWrapped)
 Hand off the given Array* to be wrapped by this class. More...
 
virtual void reset_constraint ()
 
virtual bool send_p ()
 
virtual bool serialize (ConstraintEvaluator &eval, DDS &dds, Marshaller &m, bool ce_eval=true)
 
virtual void set_attr_table (const libdap::AttrTable &at)
 
virtual void set_in_selection (bool state)
 
virtual void set_parent (BaseType *parent)
 Keep these in sync so it doesn't matter where we get the parent from... More...
 
virtual void set_read_p (bool state)
 
virtual void set_send_p (bool state)
 
virtual void set_synthesized_p (bool state)
 
virtual bool set_value (dods_byte *val, int sz)
 
virtual bool set_value (vector< dods_byte > &val, int sz)
 
virtual bool set_value (dods_int16 *val, int sz)
 
virtual bool set_value (vector< dods_int16 > &val, int sz)
 
virtual bool set_value (dods_uint16 *val, int sz)
 
virtual bool set_value (vector< dods_uint16 > &val, int sz)
 
virtual bool set_value (dods_int32 *val, int sz)
 
virtual bool set_value (vector< dods_int32 > &val, int sz)
 
virtual bool set_value (dods_uint32 *val, int sz)
 
virtual bool set_value (vector< dods_uint32 > &val, int sz)
 
virtual bool set_value (dods_float32 *val, int sz)
 
virtual bool set_value (vector< dods_float32 > &val, int sz)
 
virtual bool set_value (dods_float64 *val, int sz)
 
virtual bool set_value (vector< dods_float64 > &val, int sz)
 
virtual bool set_value (string *val, int sz)
 
virtual bool set_value (vector< string > &val, int sz)
 
virtual bool synthesized_p ()
 
virtual string toString ()
 
virtual string toString () const
 
virtual unsigned int val2buf (void *val, bool reuse=false)
 
virtual void value (dods_byte *b) const
 
virtual void value (dods_int16 *b) const
 
virtual void value (dods_uint16 *b) const
 
virtual void value (dods_int32 *b) const
 
virtual void value (dods_uint32 *b) const
 
virtual void value (dods_float32 *b) const
 
virtual void value (dods_float64 *b) const
 
virtual void value (vector< string > &b) const
 
virtual void * value ()
 
virtual BaseType * var (const string &name="", bool exact_match=true, btp_stack *s=0)
 
virtual BaseType * var (const string &name, btp_stack &s)
 
virtual unsigned int width (bool constrained=false)
 
virtual ~RenamedArrayWrapper ()
 

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 63 of file RenamedArrayWrapper.h.

Constructor & Destructor Documentation

ncml_module::RenamedArrayWrapper::RenamedArrayWrapper ( )

Definition at line 49 of file RenamedArrayWrapper.cc.

Referenced by ptr_duplicate().

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

Definition at line 56 of file RenamedArrayWrapper.cc.

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 64 of file RenamedArrayWrapper.cc.

References NCML_ASSERT_MSG, and set_read_p().

Here is the call graph for this function:

ncml_module::RenamedArrayWrapper::~RenamedArrayWrapper ( )
virtual

Definition at line 74 of file RenamedArrayWrapper.cc.

Member Function Documentation

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

Wrappers.

Definition at line 101 of file RenamedArrayWrapper.cc.

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

Definition at line 267 of file RenamedArrayWrapper.cc.

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

Definition at line 354 of file RenamedArrayWrapper.cc.

bool ncml_module::RenamedArrayWrapper::check_semantics ( string &  msg,
bool  all = false 
)
virtual

Definition at line 273 of file RenamedArrayWrapper.cc.

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

Definition at line 120 of file RenamedArrayWrapper.cc.

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

Definition at line 608 of file RenamedArrayWrapper.cc.

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

Definition at line 143 of file RenamedArrayWrapper.cc.

References toString().

Here is the call graph for this function:

int ncml_module::RenamedArrayWrapper::element_count ( bool  leaves = false)
virtual

Definition at line 181 of file RenamedArrayWrapper.cc.

AttrTable & ncml_module::RenamedArrayWrapper::get_attr_table ( )
virtual

We don't keep our own...

Definition at line 214 of file RenamedArrayWrapper.cc.

BaseType * ncml_module::RenamedArrayWrapper::get_parent ( ) const
virtual

Definition at line 247 of file RenamedArrayWrapper.cc.

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

Definition at line 566 of file RenamedArrayWrapper.cc.

References set_read_p().

Here is the call graph for this function:

bool ncml_module::RenamedArrayWrapper::is_constructor_type ( ) const
virtual

Definition at line 161 of file RenamedArrayWrapper.cc.

bool ncml_module::RenamedArrayWrapper::is_in_selection ( )
virtual

Definition at line 226 of file RenamedArrayWrapper.cc.

bool ncml_module::RenamedArrayWrapper::is_simple_type ( ) const
virtual

Definition at line 149 of file RenamedArrayWrapper.cc.

bool ncml_module::RenamedArrayWrapper::is_vector_type ( ) const
virtual

Definition at line 155 of file RenamedArrayWrapper.cc.

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

Definition at line 86 of file RenamedArrayWrapper.cc.

bool ncml_module::RenamedArrayWrapper::ops ( BaseType *  b,
int  op 
)
virtual

Definition at line 279 of file RenamedArrayWrapper.cc.

void ncml_module::RenamedArrayWrapper::print_decl ( ostream &  out,
string  space = "    ",
bool  print_semi = true,
bool  constraint_info = false,
bool  constrained = false 
)
virtual

Definition at line 323 of file RenamedArrayWrapper.cc.

void ncml_module::RenamedArrayWrapper::print_val ( ostream &  out,
string  space = "",
bool  print_decl_p = true 
)
virtual

Definition at line 368 of file RenamedArrayWrapper.cc.

void ncml_module::RenamedArrayWrapper::print_xml ( ostream &  out,
string  space = "    ",
bool  constrained = false 
)
virtual

Definition at line 336 of file RenamedArrayWrapper.cc.

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

Definition at line 80 of file RenamedArrayWrapper.cc.

References RenamedArrayWrapper().

Here is the call graph for this function:

bool ncml_module::RenamedArrayWrapper::read ( )
virtual

Definition at line 555 of file RenamedArrayWrapper.cc.

References set_read_p().

Here is the call graph for this function:

bool ncml_module::RenamedArrayWrapper::read_p ( )
virtual

Definition at line 187 of file RenamedArrayWrapper.cc.

void ncml_module::RenamedArrayWrapper::reset_constraint ( )
virtual

Definition at line 110 of file RenamedArrayWrapper.cc.

bool ncml_module::RenamedArrayWrapper::send_p ( )
virtual

Definition at line 200 of file RenamedArrayWrapper.cc.

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

Definition at line 585 of file RenamedArrayWrapper.cc.

References BESDEBUG, and set_read_p().

Here is the call graph for this function:

void ncml_module::RenamedArrayWrapper::set_attr_table ( const libdap::AttrTable &  at)
virtual

Definition at line 220 of file RenamedArrayWrapper.cc.

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

Definition at line 232 of file RenamedArrayWrapper.cc.

void ncml_module::RenamedArrayWrapper::set_parent ( BaseType *  parent)
virtual

Keep these in sync so it doesn't matter where we get the parent from...

Definition at line 240 of file RenamedArrayWrapper.cc.

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

Definition at line 193 of file RenamedArrayWrapper.cc.

Referenced by intern_data(), read(), RenamedArrayWrapper(), and serialize().

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

Definition at line 206 of file RenamedArrayWrapper.cc.

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

Definition at line 173 of file RenamedArrayWrapper.cc.

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

Definition at line 379 of file RenamedArrayWrapper.cc.

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

Definition at line 386 of file RenamedArrayWrapper.cc.

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

Definition at line 393 of file RenamedArrayWrapper.cc.

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

Definition at line 400 of file RenamedArrayWrapper.cc.

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

Definition at line 407 of file RenamedArrayWrapper.cc.

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

Definition at line 414 of file RenamedArrayWrapper.cc.

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

Definition at line 421 of file RenamedArrayWrapper.cc.

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

Definition at line 428 of file RenamedArrayWrapper.cc.

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

Definition at line 435 of file RenamedArrayWrapper.cc.

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

Definition at line 442 of file RenamedArrayWrapper.cc.

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

Definition at line 449 of file RenamedArrayWrapper.cc.

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

Definition at line 456 of file RenamedArrayWrapper.cc.

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

Definition at line 463 of file RenamedArrayWrapper.cc.

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

Definition at line 470 of file RenamedArrayWrapper.cc.

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

Definition at line 477 of file RenamedArrayWrapper.cc.

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

Definition at line 484 of file RenamedArrayWrapper.cc.

bool ncml_module::RenamedArrayWrapper::synthesized_p ( )
virtual

Definition at line 167 of file RenamedArrayWrapper.cc.

string ncml_module::RenamedArrayWrapper::toString ( )
virtual

Definition at line 128 of file RenamedArrayWrapper.cc.

Referenced by dump().

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

Definition at line 134 of file RenamedArrayWrapper.cc.

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

Definition at line 361 of file RenamedArrayWrapper.cc.

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

Definition at line 491 of file RenamedArrayWrapper.cc.

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

Definition at line 498 of file RenamedArrayWrapper.cc.

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

Definition at line 505 of file RenamedArrayWrapper.cc.

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

Definition at line 512 of file RenamedArrayWrapper.cc.

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

Definition at line 519 of file RenamedArrayWrapper.cc.

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

Definition at line 526 of file RenamedArrayWrapper.cc.

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

Definition at line 533 of file RenamedArrayWrapper.cc.

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

Definition at line 540 of file RenamedArrayWrapper.cc.

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

Definition at line 547 of file RenamedArrayWrapper.cc.

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

Definition at line 253 of file RenamedArrayWrapper.cc.

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

Definition at line 261 of file RenamedArrayWrapper.cc.

unsigned int ncml_module::RenamedArrayWrapper::width ( bool  constrained = false)
virtual

Definition at line 347 of file RenamedArrayWrapper.cc.


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