Loading...
Searching...
No Matches
DataProvider::DefaultRecordIterator Class Reference

Default record iterator class for data providers that do not support custom read / search APIs. More...

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

Inheritance diagram for DataProvider::DefaultRecordIterator:
[legend]

## Public Member Functions

| constructor (AbstractIterator i, *hash< auto > where_cond, *hash< auto > search_options, *hash< string, AbstractDataField > record_type, *string subrecord)
| Returns an iterator for zero or more records matching the search options.
*hash< string, AbstractDataField > | getRecordType ()
| Returns the record description, if available.
hash< auto > | getValue ()
| returns a single record if the iterator is valid
auto | memberGate (string key)
| Returns the value of the given field in the current record, if the iterator is valid.
bool | next ()
| Moves the current position to the next element; returns False if there are no more elements.
bool | valid ()
| returns True if the iterator is currently pointing at a valid element, False if not
Public Member Functions inherited from DataProvider::AbstractDataProviderRecordIterator
| constructor (int block_size=DefaultBlockSize)
| Creates the object and optionally sets the bulk iteration block size.
*AbstractDataProviderBulkRecordInterface | getBulkApi ()
| Returns the bulk data interface if supported.
*hash< string, AbstractDataField > | getRecordType ()
| Returns the record description, if available.
abstract hash< auto > | getValue ()
| returns a single record if the iterator is valid
bool | supportsBulkApi ()
| Returns True if the iterator supports bulk operation.

## Additional Inherited Members

Public Attributes inherited from DataProvider::AbstractDataProviderRecordIterator
const | DefaultBlockSize = 1000
| Default block size.
Protected Member Functions inherited from DataProvider::AbstractDataProviderRecordIterator
auto | doMemberGate (string key)
| Returns the value of the given field in the current record, if the iterator is valid.
Static Protected Member Functions inherited from DataProvider::AbstractDataProviderRecordIterator
static bool | evalOperator (string field, hash< auto > cmd, hash< auto > op, hash< auto > record)
| Evaluates a generic search operator on the field value and record and returns the result.
static bool | matchGeneric (hash< auto > record, *hash< auto > where_cond)
| Checks if the current record matches the search criteria.
static bool | matchGeneric (hash< auto > record, hash< DataProviderExpression > where_cond)
| Checks if the current record matches the search criteria.
static bool | matchGenericValue (auto expects, auto val)
| Match a single value.
Protected Attributes inherited from DataProvider::AbstractDataProviderRecordIterator
int | block_size = DefaultBlockSize
| Block size for bulk iteration.

## Detailed Description

Default record iterator class for data providers that do not support custom read / search APIs.

Note
  This class supports the `columns`, `limit`, and `offset` search options

## Member Function Documentation

## constructor()

DataProvider::DefaultRecordIterator::constructor | ( | AbstractIterator | i,
|  | *hash< auto > | where_cond,
|  | *hash< auto > | search_options,
|  | *hash< string, AbstractDataField > | record_type,
|  | *string | subrecord )

Returns an iterator for zero or more records matching the search options.

Parameters

  i | the iterator; must return a record hash in the getValue() method
  where_cond | the search criteria
  search_options | the search options after processing by validateSearchOptions()
  record_type | the record type
  subrecord | the optional name of a key of the record hash storing record data

## getRecordType()

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

Returns the record description, if available.

Returns
  the record type of the iterator

## getValue()

hash< auto > DataProvider::DefaultRecordIterator::getValue | ( |  | ) |

returns a single record if the iterator is valid

Exceptions

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

## memberGate()

auto DataProvider::DefaultRecordIterator::memberGate | ( | string | key | ) |

Returns the value of the given field in the current record, if the iterator is valid.

Parameters

  key | the name of the field

Returns
  the value of the given field in the current record, if the iterator is valid

Exceptions

  FIELD-ERROR | invalid or unknown field name

## next()

bool DataProvider::DefaultRecordIterator::next | ( |  | ) |

Moves the current position to the next element; returns False if there are no more elements.

This method will return True again after it returns False once if the object being iterated is not empty, otherwise it will always return False. The iterator object should not be used after this method returns False

Returns
  False if there are no more elements (in which case the iterator object is invalid and should not be used); True if successful (meaning that the iterator object is valid)

## valid()

bool DataProvider::DefaultRecordIterator::valid | ( |  | ) |

returns True if the iterator is currently pointing at a valid element, False if not

Returns
  True if the iterator is currently pointing at a valid element, False if not