Class LoadingQueryIteratorBase<T>

Version: 3.4

Base implementation for Query iterators that support loading of entities.

Inheritance
object
LoadingQueryIteratorBase<T>
Namespace: StylelabsStylelabs.MSdkStylelabs.M.Sdk.ModelsQuerying
Assembly: Stylelabs.M.Sdk.dll
Syntax
RequestResponse
public abstract class LoadingQueryIteratorBase<T> : IQueryIterator<T>, IIterator where T : class, IQueryResult
Type Parameters
NameDescription
T

The type result returned by the iterator.

Constructors

LoadingQueryIteratorBase(Query, IEntityLoadConfiguration, T)

Initializes a new instance of the LoadingQueryIteratorBase<T> class.

Declaration
RequestResponse
protected LoadingQueryIteratorBase(Query query, IEntityLoadConfiguration loadConfiguration, T result)
Parameters
TypeNameDescription
Queryquery

The 'request' query.

IEntityLoadConfigurationloadConfiguration

The load configuration.

Tresult

The current result.

LoadingQueryIteratorBase(Query, IEntityLoadConfiguration)

Initializes a new instance of the LoadingQueryIteratorBase<T> class. Optionally, you can pass a result, and the iterator will continue from that point on.

Declaration
RequestResponse
protected LoadingQueryIteratorBase(Query query, IEntityLoadConfiguration loadConfiguration)
Parameters
TypeNameDescription
Queryquery

The 'request' query.

IEntityLoadConfigurationloadConfiguration

The load configuration.

Properties

Current

Gets get the current result during iteration.

Declaration
RequestResponse
public T Current { get; }
Property Value
TypeDescription
T

Methods

CanMoveNext()

Checks if the iterator can move further through the results.

Declaration
RequestResponse
public bool CanMoveNext()
Returns
TypeDescription
bool

true if there more results.

CanMovePrevious()

Checks if the iterator can move backwards through the results.

Declaration
RequestResponse
public bool CanMovePrevious()
Returns
TypeDescription
bool

true if there move backwards.

GetResultAsync(Query, IEntityLoadConfiguration)

Gets the results.

Declaration
RequestResponse
protected abstract Task<T> GetResultAsync(Query query, IEntityLoadConfiguration loadConfiguration)
Parameters
TypeNameDescription
Queryquery

The 'request' query.

IEntityLoadConfigurationloadConfiguration

The load configuration.

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
RequestResponse
public Task<bool> MoveNextAsync()
Returns
TypeDescription
Task<>bool

true 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
RequestResponse
public Task<bool> MovePreviousAsync()
Returns
TypeDescription
Task<>bool

true 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
RequestResponse
public void Reset()

Explicit Interface Implementations

IIterator.Current

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

Declaration
RequestResponse
object IIterator.Current { get; }
Returns
TypeDescription
object

Implements

Do you have some feedback for us?

If you have suggestions for improving this article,