This class is a special Predicate which helps to get a page-by-page result of a query.
It can be constructed with a page-size, an inner predicate for filtering, and a comparator for sorting.
Inheritance Hierarchy
Hazelcast.CorePagingPredicate
Namespace: Hazelcast.Core
Assembly: Hazelcast.Net (in Hazelcast.Net.dll) Version: 3.8.2
Syntax
The PagingPredicate type exposes the following members.
Constructors
Name | Description | |
---|---|---|
PagingPredicate |
Creates a Paging predicate with provided page size and optional predicate and comparer.
|
Properties
Name | Description | |
---|---|---|
Comparer | IComparer<KeyValuePair<object, object>>> implementation used to sort the result on client side.
| |
IterationType |
Iteration type this paging predicate: One of Key, Value or Entry
| |
Page |
Current page index
| |
PageSize |
Page size of each iteration
|
Methods
Name | Description | |
---|---|---|
Equals | (Inherited from Object.) | |
GetFactoryId | ||
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetId | ||
GetNearestAnchorEntry |
After each query, an anchor entry is set for that page. SetAnchor``2(Int32, UMP, UMP)
For the next query user may set an arbitrary Page.
for example: user queried first 5 pages which means first 5 anchor is available
if the next query is for the 10th page then the nearest anchor belongs to page 5
but if the next query is for the 3nd page then the nearest anchor belongs to page 2
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
NextPage |
sets the page value to next page
| |
PreviousPage |
sets the page value to previous page
| |
ReadData | ||
Reset |
resets for reuse
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
WriteData |
Extension Methods
Name | Description | |
---|---|---|
And | (Defined by PredicateExt.) | |
Not | (Defined by PredicateExt.) | |
Or | (Defined by PredicateExt.) |
Remarks
Examples
Predicate lessEqualThanFour = Predicates.IsLessThanOrEqual("this", 4); // We are constructing our paging predicate with a predicate and page size. In this case query results fetched two by two. PagingPredicate predicate = new PagingPredicate(lessEqualThanFour, 2); // we are initializing our map with integers from 0 to 10 as keys and values. IMap map = hazelcastInstance.getMap("myMap"); for (int i = 0; i < 10; i++) { map.Put(i, i); } //invoking the query var values = map.Values(predicate); Console.WriteLine("values = " + values); // will print 'values = [0, 1]' predicate.NextPage(); // we are setting up paging predicate to fetch next page in the next call. values = map.Values(predicate); Console.WriteLine("values = " + values);// will print 'values = [2, 3]' var anchor = predicate.GetAnchor(); Console.WriteLine("anchor -> " + anchor); // will print 'anchor -> 1=1', since the anchor is the last entry of the previous page. predicate.previousPage(); // we are setting up paging predicate to fetch previous page in the next call values = map.Values(predicate); Console.WriteLine("values = " + values) // will print 'values = [0, 1]'
See Also