OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
agg_util::ArrayJoinExistingAggregation Class Reference

#include <ArrayJoinExistingAggregation.h>

Inheritance diagram for agg_util::ArrayJoinExistingAggregation:
Inheritance graph
Collaboration diagram for agg_util::ArrayJoinExistingAggregation:
Collaboration graph

Public Member Functions

 ArrayJoinExistingAggregation (const libdap::Array &granuleTemplate, const AMDList &memberDatasets, std::auto_ptr< ArrayGetterInterface > &arrayGetter, const Dimension &joinDim)
 Construct a joinNew Array aggregation given the parameters. More...
 
 ArrayJoinExistingAggregation (const ArrayJoinExistingAggregation &rhs)
 
const AMDListgetDatasetList () const
 Get the list of AggMemberDataset's that comprise this aggregation. More...
 
ArrayJoinExistingAggregationoperator= (const ArrayJoinExistingAggregation &rhs)
 
virtual ArrayJoinExistingAggregationptr_duplicate ()
 Virtual Constructor: Make a deep copy (clone) of the object and return it. More...
 
virtual bool read ()
 Base implementation that works for both joinNew and joinExisting. More...
 
virtual ~ArrayJoinExistingAggregation ()
 

Protected Member Functions

const ArrayGetterInterfacegetArrayGetterInterface () const
 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. More...
 
libdap::Array & getGranuleTemplateArray ()
 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. More...
 
void printConstraints (const Array &fromArray)
 Print out the constraints on fromArray to the debug channel. More...
 
virtual void readConstrainedGranuleArraysAndAggregateDataHook ()
 The meat of the subclass impl of read(). More...
 
virtual void transferOutputConstraintsIntoGranuleTemplateHook ()
 IMPL of subclass hook for read() to copy granule constraints properly (inner dim ones). More...
 

Detailed Description

Definition at line 38 of file ArrayJoinExistingAggregation.h.

Constructor & Destructor Documentation

agg_util::ArrayJoinExistingAggregation::ArrayJoinExistingAggregation ( const libdap::Array &  granuleTemplate,
const AMDList memberDatasets,
std::auto_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 43 of file ArrayJoinExistingAggregation.cc.

References BESDEBUG_FUNC, agg_util::Dimension::name, NCML_ASSERT_MSG, agg_util::AggregationUtil::printConstraints(), agg_util::AggregationUtil::printDimensions(), agg_util::Dimension::size, and agg_util::Dimension::toString().

Referenced by ptr_duplicate().

Here is the call graph for this function:

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

Definition at line 81 of file ArrayJoinExistingAggregation.cc.

agg_util::ArrayJoinExistingAggregation::~ArrayJoinExistingAggregation ( )
virtual

Definition at line 91 of file ArrayJoinExistingAggregation.cc.

Member Function Documentation

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 168 of file ArrayAggregationBase.cc.

References VALID_PTR.

Referenced by readConstrainedGranuleArraysAndAggregateDataHook(), and agg_util::ArrayAggregateOnOuterDimension::readConstrainedGranuleArraysAndAggregateDataHook().

const AMDList & agg_util::ArrayAggregationBase::getDatasetList ( ) const
inherited
libdap::Array & agg_util::ArrayAggregationBase::getGranuleTemplateArray ( )
protectedinherited
ArrayJoinExistingAggregation & agg_util::ArrayJoinExistingAggregation::operator= ( const ArrayJoinExistingAggregation rhs)

Definition at line 97 of file ArrayJoinExistingAggregation.cc.

References agg_util::ArrayAggregationBase::operator=().

Here is the call graph for this function:

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

Print out the constraints on fromArray to the debug channel.

Definition at line 152 of file ArrayAggregationBase.cc.

References BESDEBUG, and agg_util::AggregationUtil::printConstraints().

Referenced by agg_util::ArrayAggregationBase::read().

Here is the call graph for this function:

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.

Reimplemented from agg_util::ArrayAggregationBase.

Definition at line 110 of file ArrayJoinExistingAggregation.cc.

References ArrayJoinExistingAggregation().

Here is the call graph for this function:

bool agg_util::ArrayAggregationBase::read ( )
virtualinherited

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.

Exceptions
Canthrow BESError, minimally
Returns
whether it works

Definition at line 93 of file ArrayAggregationBase.cc.

References BESDEBUG_FUNC, agg_util::ArrayAggregationBase::getGranuleTemplateArray(), agg_util::ArrayAggregationBase::printConstraints(), agg_util::ArrayAggregationBase::readConstrainedGranuleArraysAndAggregateDataHook(), and agg_util::ArrayAggregationBase::transferOutputConstraintsIntoGranuleTemplateHook().

Here is the call graph for this function:

void agg_util::ArrayJoinExistingAggregation::readConstrainedGranuleArraysAndAggregateDataHook ( )
protectedvirtual
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 131 of file ArrayJoinExistingAggregation.cc.

References agg_util::ArrayAggregationBase::getGranuleTemplateArray(), and agg_util::AggregationUtil::transferArrayConstraints().

Here is the call graph for this function:


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