Loading...
Searching...
No Matches
DataProvider::AbstractDataProviderBulkRecordInterface Class Referenceabstract

Defines the abstract class for data provider iterators; the destructor releases the iterator. More...

`#include <AbstractDataProviderBulkRecordInterface.qc.dox.h>`

Inheritance diagram for DataProvider::AbstractDataProviderBulkRecordInterface:
[legend]

## Public Member Functions

| constructor (int block_size)
| Creates the object.
int | getBlockSize ()
| Returns the block size.
AbstractDataProviderRecordIterator | getRecordIterator ()
| Returns a standard record iterator for this bulk iterator.
*hash< string, AbstractDataField > | getRecordType ()
| Returns the record description, if available.
*hash< string, auto > | getValue ()
| Returns a hash of lists (or constant values) according to the block size or NOTHING if no more data is available.
bool | valid ()
| Returns True if there are more records to return.

## Protected Member Functions

abstract hash< string, auto > | getValueImpl ()
| Returns a hash of lists (or constant values) according to the block size or NOTHING if no more data is available.

## Protected Attributes

int | block_size
| The record block size.
bool | valid = True
| Valid flag.

## Detailed Description

Defines the abstract class for data provider iterators; the destructor releases the iterator.

## Member Function Documentation

## constructor()

DataProvider::AbstractDataProviderBulkRecordInterface::constructor | ( | int | block_size | ) |

Creates the object.

Parameters

  block_size | the record block size for the iterator

## getRecordIterator()

AbstractDataProviderRecordIterator DataProvider::AbstractDataProviderBulkRecordInterface::getRecordIterator | ( |  | ) |

Returns a standard record iterator for this bulk iterator.

Returns
  a standard record iterator for this bulk iterator

## getRecordType()

*hash< string, AbstractDataField > DataProvider::AbstractDataProviderBulkRecordInterface::getRecordType | ( |  | ) |

Returns the record description, if available.

This base class method returns NOTHING; reimplement in subclasses to provide a record type

## getValue()

*hash< string, auto > DataProvider::AbstractDataProviderBulkRecordInterface::getValue | ( |  | ) |

Returns a hash of lists (or constant values) according to the block size or NOTHING if no more data is available.

Returns
  a hash of lists (or constant values) according to the block size or NOTHING if no more data is available

Exceptions

  INVALID-ITERATOR | the iterator is not pointing at a valid element

Note
  - This call moves the internal record pointer forward, therefore multiple calls of this methods will return different results as long as data is available
  - A short read from getValueImpl() indicates that the final block is being delivered
  - The first hash key must be assigned to a list and cannot be assigned to a constant value

## getValueImpl()

abstract hash< string, auto > DataProvider::AbstractDataProviderBulkRecordInterface::getValueImpl | ( |  | ) |

protectedpure virtual

Returns a hash of lists (or constant values) according to the block size or NOTHING if no more data is available.

Returns
  a hash of lists (or constant values) according to the block size or NOTHING if no more data is available

Exceptions

  INVALID-ITERATOR | the iterator is not pointing at a valid element

Note
  - This call moves the internal record pointer forward, therefore multiple calls of this methods will return different results as long as data is available
  - The first hash key must be assigned to a list and cannot be assigned to a constant value

Implemented in DataProvider::DefaultBulkRecordIterface.