|
OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
class AggMemberDatasetDDSWrapper: concrete subclass of AggMemberDataset designed to hold a weak reference to an object containing a DataDDS (DDSAccessInterface). More...
#include <AggMemberDatasetDDSWrapper.h>


Public Member Functions | |
| void | addPreDeleteCB (UseCountHitZeroCB *pCB) |
| Add uniquely. More... | |
| AggMemberDatasetDDSWrapper () | |
| AggMemberDatasetDDSWrapper (const DDSAccessInterface *pDDSHolder) | |
| AggMemberDatasetDDSWrapper (const AggMemberDatasetDDSWrapper &proto) | |
| virtual void | fillDimensionCacheByUsingDataDDS () |
| Uses the getDataDDS() call in order to find all named dimensions within it and to seed them into the dimension cache table for faster later lookups. More... | |
| virtual void | flushDimensionCache () |
| Flush out any cache for the Dimensions so that it will have to be loaded. More... | |
| virtual unsigned int | getCachedDimensionSize (const std::string &dimName) const |
| Get the size of the given dimension named dimName cached within the dataset. More... | |
| virtual const libdap::DataDDS * | getDataDDS () |
| Access via the wrapped DDSAccessInterface. More... | |
| const std::string & | getLocation () const |
| The location to which the AggMemberDataset refers Note: this could be "" for some subclasses if they are virtual or nested. More... | |
| virtual int | getRefCount () const |
| Get the current reference count. More... | |
| virtual bool | isDimensionCached (const std::string &dimName) const |
| Return whether the dimension is already cached, or would have to be loaded to be found. More... | |
| virtual void | loadDimensionCache (std::istream &istr) |
| Load the values in the dimension cache from the input stream. More... | |
| AggMemberDatasetDDSWrapper & | operator= (const AggMemberDatasetDDSWrapper &that) |
| virtual int | ref () const |
| Increase the reference count by one. More... | |
| virtual void | removeFromPool () const |
| If the object is in an auto-delete pool, remove it from the pool and force it to only delete when it's ref count goes to 0. More... | |
| void | removePreDeleteCB (UseCountHitZeroCB *pCB) |
| Remove it exists. More... | |
| virtual void | saveDimensionCache (std::ostream &ostr) |
| Append the values in the dimension cache to the output stream. More... | |
| virtual void | setDimensionCacheFor (const Dimension &dim, bool throwIfFound) |
| Seed the dimension cache using the given dimension, so that later calls to getDimensionSize for dim.name will return the dim.size immediately without checking or loading the actual DDS. More... | |
| virtual std::string | toString () const |
| Just prints the count and address. More... | |
| virtual int | unref () const throw () |
| Decrease the reference count by one. More... | |
| virtual | ~AggMemberDatasetDDSWrapper () |
class AggMemberDatasetDDSWrapper: concrete subclass of AggMemberDataset designed to hold a weak reference to an object containing a DataDDS (DDSAccessInterface).
Compare to AggMemberDatasetSharedDDSWrapper which use a ref-counted DDSAccessRCInterface. The weak one doesn't use ref counting in order to avoid circular ref dependencies.
Definition at line 49 of file AggMemberDatasetDDSWrapper.h.
| agg_util::AggMemberDatasetDDSWrapper::AggMemberDatasetDDSWrapper | ( | ) |
Definition at line 37 of file AggMemberDatasetDDSWrapper.cc.
| agg_util::AggMemberDatasetDDSWrapper::AggMemberDatasetDDSWrapper | ( | const DDSAccessInterface * | pDDSHolder | ) |
Definition at line 43 of file AggMemberDatasetDDSWrapper.cc.
|
virtual |
Definition at line 49 of file AggMemberDatasetDDSWrapper.cc.
References BESDEBUG.
| agg_util::AggMemberDatasetDDSWrapper::AggMemberDatasetDDSWrapper | ( | const AggMemberDatasetDDSWrapper & | proto | ) |
Definition at line 55 of file AggMemberDatasetDDSWrapper.cc.
|
inherited |
Add uniquely.
If it is added agan, the second time is ignored.
Definition at line 145 of file RCObject.cc.
References BESDEBUG.
|
virtualinherited |
Uses the getDataDDS() call in order to find all named dimensions within it and to seed them into the dimension cache table for faster later lookups.
Potentially slow!
Implements agg_util::AggMemberDataset.
Definition at line 153 of file AggMemberDatasetWithDimensionCacheBase.cc.
References agg_util::AggMemberDataset::getDataDDS(), and VALID_PTR.

|
virtualinherited |
Flush out any cache for the Dimensions so that it will have to be loaded.
Implements agg_util::AggMemberDataset.
Definition at line 172 of file AggMemberDatasetWithDimensionCacheBase.cc.
|
virtualinherited |
Get the size of the given dimension named dimName cached within the dataset.
If not found in cache, throws.
If a cached value exists from a prior load of the DataDDS using loadDimensionCacheFromDataDDS() or from a call to setDimensionCacheFor(), return that.
Otherwise, this must load the DataDDS to get the values.
Implementation is left up to subclasses for efficiency.
| agg_util::DimensionNotFoundException | if not located via any means. |
Implements agg_util::AggMemberDataset.
Definition at line 92 of file AggMemberDatasetWithDimensionCacheBase.cc.
References agg_util::Dimension::size.
|
virtual |
Access via the wrapped DDSAccessInterface.
If the wrapped DDS is NOT a DataDDS, we return NULL!
Implements agg_util::AggMemberDataset.
Definition at line 80 of file AggMemberDatasetDDSWrapper.cc.
References agg_util::DDSAccessInterface::getDDS().

|
inherited |
The location to which the AggMemberDataset refers Note: this could be "" for some subclasses if they are virtual or nested.
Definition at line 62 of file AggMemberDataset.cc.
Referenced by agg_util::AggregationUtil::addDatasetArrayDataToAggregationOutputArray(), and agg_util::ArrayAggregateOnOuterDimension::readConstrainedGranuleArraysAndAggregateDataHook().
|
virtualinherited |
Get the current reference count.
Implements agg_util::RCObjectInterface.
Definition at line 110 of file RCObject.cc.
|
virtualinherited |
Return whether the dimension is already cached, or would have to be loaded to be found.
Implements agg_util::AggMemberDataset.
Definition at line 114 of file AggMemberDatasetWithDimensionCacheBase.cc.
|
virtualinherited |
Load the values in the dimension cache from the input stream.
Implements agg_util::AggMemberDataset.
Definition at line 186 of file AggMemberDatasetWithDimensionCacheBase.cc.
| AggMemberDatasetDDSWrapper & agg_util::AggMemberDatasetDDSWrapper::operator= | ( | const AggMemberDatasetDDSWrapper & | that | ) |
Definition at line 64 of file AggMemberDatasetDDSWrapper.cc.
References agg_util::AggMemberDatasetWithDimensionCacheBase::operator=().

|
virtualinherited |
Increase the reference count by one.
const since we do not consider the ref count part of the semantic constness of the rep
Implements agg_util::RCObjectInterface.
Definition at line 74 of file RCObject.cc.
References BESDEBUG.
Referenced by ncml_module::AggregationElement::addChildDataset(), ncml_module::NetcdfElement::addDimension(), ncml_module::AggregationElement::addScanElement(), ncml_module::NetcdfElement::VariableValueValidator::addVariableToValidate(), and agg_util::RCPtr< ncml_module::AggregationElement >::refAndGet().
|
virtualinherited |
If the object is in an auto-delete pool, remove it from the pool and force it to only delete when it's ref count goes to 0.
Useful when we desire a particular object stay around outside of the pool's lifetime.
Implements agg_util::RCObjectInterface.
Definition at line 116 of file RCObject.cc.
References NCML_ASSERT, and agg_util::RCObjectPool::remove().

|
inherited |
Remove it exists.
If not, this unchanged.
Definition at line 164 of file RCObject.cc.
References BESDEBUG.
|
virtualinherited |
Append the values in the dimension cache to the output stream.
Implements agg_util::AggMemberDataset.
Definition at line 179 of file AggMemberDatasetWithDimensionCacheBase.cc.
|
virtualinherited |
Seed the dimension cache using the given dimension, so that later calls to getDimensionSize for dim.name will return the dim.size immediately without checking or loading the actual DDS.
If it already exists and throwIfFound then will throw an AggregationException.
If it exists and !throwIfFound, will replace the old one.
| dim | the dimension to seed |
| if | true, throw if name take. Else replace original. |
Implements agg_util::AggMemberDataset.
Definition at line 124 of file AggMemberDatasetWithDimensionCacheBase.cc.
References agg_util::Dimension::name.
|
virtualinherited |
Just prints the count and address.
Implements agg_util::RCObjectInterface.
Reimplemented in ncml_module::NCMLElement, ncml_module::AggregationElement, ncml_module::NetcdfElement, ncml_module::VariableElement, ncml_module::DimensionElement, ncml_module::ScanElement, ncml_module::AttributeElement, ncml_module::ValuesElement, ncml_module::VariableAggElement, ncml_module::ExplicitElement, ncml_module::ReadMetadataElement, and ncml_module::RemoveElement.
Definition at line 128 of file RCObject.cc.
Referenced by agg_util::RCObject::unref().
|
virtualinherited | |||||||||||||
Decrease the reference count by one.
If it goes from 1 to 0, delete this and this is no longer valid.
It is illegal to unref() an object with a count of 0. We don't throw to allow use in dtors, so the caller is assumed not to do it!
const since the reference count is not part of the semantic constness of the rep
Implements agg_util::RCObjectInterface.
Definition at line 82 of file RCObject.cc.
References BESDEBUG, agg_util::RCObjectPool::release(), and agg_util::RCObject::toString().
Referenced by ncml_module::NetcdfElement::clearDimensions(), agg_util::RCPtr< ncml_module::AggregationElement >::operator=(), ncml_module::AggregationElement::~AggregationElement(), and ncml_module::NetcdfElement::VariableValueValidator::~VariableValueValidator().
