1. Stylelabs.M.Sdk.Models.Querying

Class QueryIteratorBase

Base implementation for Query iterators.

Inheritance

object

QueryIteratorBase

EntityIdIterator

Implements

IQueryIterator

IIterator

Namespace: StylelabsStylelabs.MSdkStylelabs.M.Sdk.ModelsQuerying

Assembly: Stylelabs.M.Sdk.dll

Syntax

public abstract class QueryIteratorBase<T> : IQueryIterator<T>, IIterator where T : class, IQueryResult

Type Parameters

NameDescription
TThe type result returned by the iterator.

Constructors

QueryIteratorBase(Query, T)

Initializes a new instance of the QueryIteratorBase class and continues iterating from the specified result on.

Declaration

protected QueryIteratorBase(Query query, T result)

Parameters

TypeNameDescription
QueryqueryThe 'request' query.
TresultThe result to start iterating from.

QueryIteratorBase(Query)

Initializes a new instance of the QueryIteratorBase class.

Declaration

protected QueryIteratorBase(Query query)

Parameters

TypeNameDescription
QueryqueryThe 'request' query.

Properties

Current

Gets get the current result during iteration.

Declaration

public T Current { get; }

Property Value

TypeDescription
T

Methods

CanMoveNext()

Checks if the iterator can move further through the results.

Declaration

public bool CanMoveNext()

Returns

TypeDescription
booltrue if there more results.

CanMovePrevious()

Checks if the iterator can move backwards through the results.

Declaration

public bool CanMovePrevious()

Returns

TypeDescription
booltrue if there move backwards.

GetResultAsync(Query)

Gets the results.

Declaration

protected abstract Task<T> GetResultAsync(Query query)

Parameters

TypeNameDescription
QueryqueryThe 'request' query.

Returns

TypeDescription
Task<>The query results.

MoveNextAsync()

Advances the enumerator to the next page/batch of the collection. The result will be available in Current.

Declaration

public Task<bool> MoveNextAsync()

Returns

TypeDescription
Task<>booltrue if the enumerator was successfully advanced to the next page; false if the enumerator has passed the end of the collection.

MovePreviousAsync()

Moves the enumerator backwards, to the previous page/batch of the collection. The result will be available in Current.

Declaration

public Task<bool> MovePreviousAsync()

Returns

TypeDescription
Task<>booltrue if the enumerator was successfully advanced to the previous page; false if the enumerator has passed the start of the collection.

Reset()

Resets the iterator to start before the first result again.

Declaration

public void Reset()

Explicit Interface Implementations

IIterator.Current

Gets the current result. This is initially null. Use MoveNextAsync() first.

Declaration

object IIterator.Current { get; }

Returns

TypeDescription
object

Implements

IQueryIterator

IIterator

If you have suggestions for improving this article, let us know!