Qore DataProvider Module Reference  1.2.1
DataProvider::AbstractDataProviderBulkRecordInterface Class Referenceabstract

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

Inheritance diagram for DataProvider::AbstractDataProviderBulkRecordInterface:

Public Member Methods

 constructor (int block_size)
 Creates the object. More...
 
int getBlockSize ()
 Returns the block size.
 
AbstractDataProviderRecordIterator getRecordIterator ()
 Returns a standard record iterator for this bulk iterator. More...
 
*hash< string, AbstractDataFieldgetRecordType ()
 Returns the record description, if available. More...
 
*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. More...
 
bool valid ()
 Returns True if there are more records to return.
 

Private Member Methods

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. More...
 

Private 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_sizethe 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-ITERATORthe 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 ( )
privatepure 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-ITERATORthe 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.