| Qore DataProvider Module Reference 1.2.1

Public Member Functions | List of all members
DataProvider::DefaultRecordIterator Class Reference

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

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)
| Returns an iterator for zero or more records matching the search options. More...
*hash< string, AbstractDataField > | getRecordType ()
| Returns the record description, if available. More...
hash< auto > | getValue ()
| returns a single record if the iterator is valid More...
auto | memberGate (string key)
| Returns the value of the given field in the current record, if the iterator is valid. More...
bool | next ()
| Moves the current position to the next element; returns False if there are no more elements. More...
bool | valid ()
| returns True if the iterator is currently pointing at a valid element, False if not More...
Public Member Functions inherited from DataProvider::AbstractDataProviderRecordIterator
*AbstractDataProviderBulkRecordInterface | getBulkApi ()
| Returns the bulk data interface if supported. More...
*hash< string, AbstractDataField > | getRecordType ()
| Returns the record description, if available. More...
bool | supportsBulkApi ()
| Returns True if the iterator supports bulk operation. More...

## Additional Inherited Members
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. More...
Static Protected Member Functions inherited from DataProvider::AbstractDataProviderRecordIterator
static bool | matchGeneric (hash< auto > record, *hash< auto > where_cond)
| Checks if the current record matches the search criteria. More...
static bool | matchGenericValue (auto expects, auto val)
| Match a single value. More...

## Detailed Description

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

Note
  This class supports the `limit` search option

## Member Function Documentation

## ◆ constructor()

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

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()

## ◆ 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 | ( |  | ) |
| virtual

returns a single record if the iterator is valid

Exceptions

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

Implements DataProvider::AbstractDataProviderRecordIterator.

## ◆ 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