bes Updated for version 3.20.13
agg_util::ArrayJoinExistingAggregation Class Reference
Collaboration diagram for agg_util::ArrayJoinExistingAggregation:
Collaboration graph

Public Member Functions

 ArrayJoinExistingAggregation (const ArrayJoinExistingAggregation &rhs)
 
 ArrayJoinExistingAggregation (const libdap::Array &granuleTemplate, AMDList memberDatasets, std::unique_ptr< ArrayGetterInterface > arrayGetter, const Dimension &joinDim)
 
const AMDList & getDatasetList () const
 
ArrayJoinExistingAggregationoperator= (const ArrayJoinExistingAggregation &rhs)
 
virtual ArrayJoinExistingAggregationptr_duplicate ()
 
bool read () override
 
virtual bool serialize (libdap::ConstraintEvaluator &eval, libdap::DDS &dds, libdap::Marshaller &m, bool ce_eval)
 

Protected Member Functions

const ArrayGetterInterfacegetArrayGetterInterface () const
 
libdap::Array & getGranuleTemplateArray ()
 
void printConstraints (const Array &fromArray)
 
virtual void readConstrainedGranuleArraysAndAggregateDataHook ()
 
virtual void transferOutputConstraintsIntoGranuleTemplateHook ()
 

Detailed Description

Definition at line 44 of file ArrayJoinExistingAggregation.h.

Constructor & Destructor Documentation

◆ ArrayJoinExistingAggregation() [1/2]

agg_util::ArrayJoinExistingAggregation::ArrayJoinExistingAggregation ( const libdap::Array &  granuleTemplate,
AMDList  memberDatasets,
std::unique_ptr< ArrayGetterInterface arrayGetter,
const Dimension joinDim 
)

Construct a joinNew Array aggregation given the parameters.

Parameters
granuleTemplatethe Array to use as a prototype for the UNaggregated Array It is the object for the aggVar as loaded from memberDatasets[0].
memberDatasetslist of the member datasets forming the aggregation. this list will be copied internally so memberDatasets may be destroyed after this call (though the element AggMemberDataset objects will be ref()'d in our copy).
arrayGettersmart ptr to the algorithm for getting out the constrained array from each individual AMDList DataDDS. Ownership transferred to this (clearly).
joinDimthe outer dimension we are using (with post-aggregation cardinality) for the joinExisting

Definition at line 49 of file ArrayJoinExistingAggregation.cc.

◆ ArrayJoinExistingAggregation() [2/2]

agg_util::ArrayJoinExistingAggregation::ArrayJoinExistingAggregation ( const ArrayJoinExistingAggregation rhs)

Definition at line 73 of file ArrayJoinExistingAggregation.cc.

◆ ~ArrayJoinExistingAggregation()

agg_util::ArrayJoinExistingAggregation::~ArrayJoinExistingAggregation ( )
virtual

Definition at line 80 of file ArrayJoinExistingAggregation.cc.

Member Function Documentation

◆ getArrayGetterInterface()

const ArrayGetterInterface & agg_util::ArrayAggregationBase::getArrayGetterInterface ( ) const
protectedinherited

Accessor for subclasses Note this is protected, so not const! Subclasses may mutate the return hence this, but should not delete it, hence the reference.

Definition at line 165 of file ArrayAggregationBase.cc.

◆ getDatasetList()

const AMDList & agg_util::ArrayAggregationBase::getDatasetList ( ) const
inherited

Get the list of AggMemberDataset's that comprise this aggregation

Definition at line 143 of file ArrayAggregationBase.cc.

◆ getGranuleTemplateArray()

libdap::Array & agg_util::ArrayAggregationBase::getGranuleTemplateArray ( )
protectedinherited

Accessor for subclasses Note this is protected, so not const! Subclasses may mutate the return hence this, but should not delete it, hence the reference.

Definition at line 158 of file ArrayAggregationBase.cc.

◆ operator=()

ArrayJoinExistingAggregation & agg_util::ArrayJoinExistingAggregation::operator= ( const ArrayJoinExistingAggregation rhs)

Definition at line 86 of file ArrayJoinExistingAggregation.cc.

◆ printConstraints()

void agg_util::ArrayAggregationBase::printConstraints ( const Array &  fromArray)
protectedinherited

Print out the constraints on fromArray to the debug channel

Definition at line 150 of file ArrayAggregationBase.cc.

◆ ptr_duplicate()

ArrayJoinExistingAggregation * agg_util::ArrayJoinExistingAggregation::ptr_duplicate ( )
virtual

Virtual Constructor: Make a deep copy (clone) of the object and return it.

Returns
ptr to the cloned object.

Definition at line 98 of file ArrayJoinExistingAggregation.cc.

◆ read()

bool agg_util::ArrayAggregationBase::read ( )
overrideinherited

Base implementation that works for both joinNew and joinExisting. Sets ups constraints and things and then calls the subclass helper readAndAggregateGranules() for the specialized subclass behaviors.

Note
This implementation of read() will read all of the data for an aggregated variable. Child classes of this class can use specialized versions of serialize() to implement a different behavior so that data that are read in parts (e.g. slices of an Array) can also be written in parts. This can reduce access latency.
Exceptions
Canthrow BESError, minimally
Returns
whether it works

Definition at line 97 of file ArrayAggregationBase.cc.

◆ readConstrainedGranuleArraysAndAggregateDataHook()

void agg_util::ArrayJoinExistingAggregation::readConstrainedGranuleArraysAndAggregateDataHook ( )
protectedvirtual

The meat of the subclass impl of read(). Called from read() once this base class state is ready for the granule data.

Reimplemented from agg_util::ArrayAggregationBase.

Definition at line 293 of file ArrayJoinExistingAggregation.cc.

◆ serialize()

bool agg_util::ArrayJoinExistingAggregation::serialize ( libdap::ConstraintEvaluator &  eval,
libdap::DDS &  dds,
libdap::Marshaller &  m,
bool  ce_eval 
)
virtual

Definition at line 113 of file ArrayJoinExistingAggregation.cc.

◆ transferOutputConstraintsIntoGranuleTemplateHook()

void agg_util::ArrayJoinExistingAggregation::transferOutputConstraintsIntoGranuleTemplateHook ( )
protectedvirtual

IMPL of subclass hook for read() to copy granule constraints properly (inner dim ones).

Reimplemented from agg_util::ArrayAggregationBase.

Definition at line 280 of file ArrayJoinExistingAggregation.cc.


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