|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.googlecode.icegem.query.pagination.PaginatedQuery<V>
public class PaginatedQuery<V>
This component allows to execute paginated queries both from client and peer/server sides. It caches paginated query results in a help region and allows to iterate on them using paginated query API. See http://code.google.com/p/icegem/wiki/Documentation#Paginated_Query for more details and examples. RESTRICTIONS: 1). A query string for paginated query can be arbitrarily complex but entry key must be part of projection list. 2). For partitioned regions a query string must meet the requirements described in a GemFire documentation for querying partitioned regions. ORDER BY on Partitioned Regions A paginated query supports order by functionality on partitioned regions. The fields specified in the order by clause must be part of the projection list. Limiting of results: Paginated query result can be limited. By default this limit is 1000 entries. You can specify a custom limit value via paginated query constructors argument. If query results exceeds this limit: - only a specified limit number of entries will be cached and returned; - flag 'limitExceeded' will be set to 'true'. Examples: SELECT * FROM /data.keySet; SELECT DISTINCT d.key, d.value.field1 FROM /data.entrySet d ORDER BY d.value.field1;
| Field Summary | |
|---|---|
static int |
DEFAULT_PAGE_SIZE
page size by default |
static int |
DEFAULT_QUERY_LIMIT
Default limit on query result |
static int |
PAGE_NUMBER_FOR_GENERAL_INFO
number of page that will be store general information about paginated query (e.g. |
static java.lang.String |
PAGINATED_QUERY_INFO_REGION_NAME
name of a help region for storing information about paginated queries |
| Constructor Summary | |
|---|---|
PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
int queryLimit,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString)
Creates a new PaginatedQuery instance. |
|
PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
int queryLimit,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
int pageSize)
Creates a new PaginatedQuery instance. |
|
PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
int queryLimit,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
java.lang.Object[] queryParameters)
Creates a new PaginatedQuery instance. |
|
PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
int queryLimit,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
java.lang.Object[] queryParameters,
int pageSize)
Creates a new PaginatedQuery instance. |
|
PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString)
Creates a new PaginatedQuery instance. |
|
PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
int pageSize)
Creates a new PaginatedQuery instance. |
|
PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
java.lang.Object[] queryParameters)
Creates a new PaginatedQuery instance. |
|
PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
java.lang.Object[] queryParameters,
int pageSize)
Creates a new PaginatedQuery instance. |
|
| Method Summary | |
|---|---|
int |
getPageSize()
Returns size of page. |
int |
getTotalNumberOfEntries()
Returns a total number of query entries. |
int |
getTotalNumberOfPages()
Returns a total number of query pages. |
boolean |
isLimitExceeded()
Gets value of a flag that indicates excess of query limit. |
java.util.List<V> |
page(int pageNumber)
Returns entries for a specified page number. |
boolean |
pageExists(int pageNumber)
Checks that a specified page number exists. |
protected void |
storePage(int pageNumber,
java.util.List<java.lang.Object> page)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int DEFAULT_PAGE_SIZE
public static final int DEFAULT_QUERY_LIMIT
public static final int PAGE_NUMBER_FOR_GENERAL_INFO
public static final java.lang.String PAGINATED_QUERY_INFO_REGION_NAME
| Constructor Detail |
|---|
public PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
int queryLimit,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString)
throws com.gemstone.gemfire.cache.query.RegionNotFoundException
queryService - The service to run the query.queryLimit - limit on query resultregion - The region for querying.queryString - query string that must return entry keys
com.gemstone.gemfire.cache.query.RegionNotFoundException - when query region or help region were not founded
public PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
int queryLimit,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
int pageSize)
throws com.gemstone.gemfire.cache.query.RegionNotFoundException
queryService - The service to run the query.queryLimit - limit on query resultregion - The region for querying.queryString - query string that must return entry keyspageSize - size of page
com.gemstone.gemfire.cache.query.RegionNotFoundException - when query region or help region were not founded
public PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
int queryLimit,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
java.lang.Object[] queryParameters)
throws com.gemstone.gemfire.cache.query.RegionNotFoundException
queryService - The service to run the query.queryLimit - limit on query resultregion - The region for querying.queryString - query string that must return entry keysqueryParameters - parameters for query execution
com.gemstone.gemfire.cache.query.RegionNotFoundException - when query region or help region were not founded
public PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
int queryLimit,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
java.lang.Object[] queryParameters,
int pageSize)
throws com.gemstone.gemfire.cache.query.RegionNotFoundException
queryService - The service to run the query.queryLimit - limit on query resultregion - The region for querying.queryString - query string that must return entry keysqueryParameters - parameters for query executionpageSize - size of page
com.gemstone.gemfire.cache.query.RegionNotFoundException - when query region or help region were not founded
public PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString)
throws com.gemstone.gemfire.cache.query.RegionNotFoundException
queryService - The service to run the query.region - The region for queryingqueryString - query string that must return entry keys
com.gemstone.gemfire.cache.query.RegionNotFoundException - when query region or help region were not founded
public PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
int pageSize)
throws com.gemstone.gemfire.cache.query.RegionNotFoundException
queryService - The service to run the query.region - The region for querying.queryString - query string that must return entry keyspageSize - size of page
com.gemstone.gemfire.cache.query.RegionNotFoundException - when query region or help region were not founded
public PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
java.lang.Object[] queryParameters)
throws com.gemstone.gemfire.cache.query.RegionNotFoundException
queryService - The service to run the query.region - The region for querying.queryString - query string that must return entry keysqueryParameters - parameters for query execution
com.gemstone.gemfire.cache.query.RegionNotFoundException - when query region or help region were not founded
public PaginatedQuery(com.gemstone.gemfire.cache.query.QueryService queryService,
com.gemstone.gemfire.cache.Region<java.lang.Object,V> region,
java.lang.String queryString,
java.lang.Object[] queryParameters,
int pageSize)
throws com.gemstone.gemfire.cache.query.RegionNotFoundException
queryService - The service to run the query.region - The region for querying.queryString - query string that must return entry keysqueryParameters - parameters for query executionpageSize - size of page
com.gemstone.gemfire.cache.query.RegionNotFoundException - when query region or help region were not founded| Method Detail |
|---|
public int getPageSize()
public int getTotalNumberOfEntries()
throws com.gemstone.gemfire.cache.query.QueryException
com.gemstone.gemfire.cache.query.QueryException - during query execution
public int getTotalNumberOfPages()
throws com.gemstone.gemfire.cache.query.QueryException
com.gemstone.gemfire.cache.query.QueryException - during query execution
public boolean isLimitExceeded()
throws com.gemstone.gemfire.cache.query.QueryException
com.gemstone.gemfire.cache.query.QueryException - during query execution
public java.util.List<V> page(int pageNumber)
throws com.gemstone.gemfire.cache.query.QueryException
pageNumber - number of page to return
com.gemstone.gemfire.cache.query.QueryException - during query execution
public boolean pageExists(int pageNumber)
throws com.gemstone.gemfire.cache.query.QueryException
pageNumber - of type int
com.gemstone.gemfire.cache.query.QueryException - during query execution
protected void storePage(int pageNumber,
java.util.List<java.lang.Object> page)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||