|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.springframework.batch.item.database.support.AbstractSqlPagingQueryProvider
public abstract class AbstractSqlPagingQueryProvider
Abstract SQL Paging Query Provider to serve as a base class for all provided SQL paging query providers. Any implementation must provide a way to specify the select clause, from clause and optionally a where clause. In addition a way to specify a single column sort key must also be provided. This sort key will be used to provide the paging functionality. It is recommended that there should be an index for the sort key to provide better performance. Provides properties and preparation for the mandatory "selectClause" and "fromClause" as well as for the optional "whereClause". Also provides property for the mandatory "sortKeys". Note: The columns that make up the sort key must be a true key and not just a column to order by.
| Constructor Summary | |
|---|---|
AbstractSqlPagingQueryProvider()
|
|
| Method Summary | |
|---|---|
abstract String |
generateFirstPageQuery(int pageSize)
Method generating the query string to be used for retrieving the first page. |
abstract String |
generateJumpToItemQuery(int itemIndex,
int pageSize)
Method generating the query string to be used for jumping to a specific item position. |
abstract String |
generateRemainingPagesQuery(int pageSize)
Method generating the query string to be used for retrieving the pages following the first page. |
protected String |
getFromClause()
|
String |
getGroupClause()
The getter for the group by clause |
int |
getParameterCount()
The number of parameters that are declared in the query |
protected String |
getSelectClause()
|
String |
getSortKeyPlaceHolder(String keyName)
The sort key placeholder will vary depending on whether named parameters or traditional placeholders are used in query strings. |
Map<String,Order> |
getSortKeys()
A Map |
protected String |
getWhereClause()
|
void |
init(DataSource dataSource)
Check mandatory properties. |
boolean |
isUsingNamedParameters()
Indicate whether the generated queries use named parameter syntax. |
void |
setFromClause(String fromClause)
|
void |
setGroupClause(String groupClause)
The setter for the group by clause |
void |
setSelectClause(String selectClause)
|
void |
setSortKeys(Map<String,Order> sortKeys)
|
void |
setWhereClause(String whereClause)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public AbstractSqlPagingQueryProvider()
| Method Detail |
|---|
public void setGroupClause(String groupClause)
groupClause - SQL GROUP BY clause part of the SQL query stringpublic String getGroupClause()
public void setSelectClause(String selectClause)
selectClause - SELECT clause part of SQL query stringprotected String getSelectClause()
public void setFromClause(String fromClause)
fromClause - FROM clause part of SQL query stringprotected String getFromClause()
public void setWhereClause(String whereClause)
whereClause - WHERE clause part of SQL query stringprotected String getWhereClause()
public void setSortKeys(Map<String,Order> sortKeys)
sortKeys - key to use to sort and limit page contentpublic Map<String,Order> getSortKeys()
getSortKeys in interface PagingQueryProviderpublic int getParameterCount()
PagingQueryProvider
getParameterCount in interface PagingQueryProviderpublic boolean isUsingNamedParameters()
PagingQueryProvider
isUsingNamedParameters in interface PagingQueryProviderpublic String getSortKeyPlaceHolder(String keyName)
getSortKeyPlaceHolder in interface PagingQueryProviderkeyName - The sort key name
public void init(DataSource dataSource)
throws Exception
init in interface PagingQueryProviderdataSource - DataSource to use for any initialization
ExceptionInitializingBean.afterPropertiesSet()public abstract String generateFirstPageQuery(int pageSize)
generateFirstPageQuery in interface PagingQueryProviderpageSize - number of rows to read per page
public abstract String generateRemainingPagesQuery(int pageSize)
generateRemainingPagesQuery in interface PagingQueryProviderpageSize - number of rows to read per page
public abstract String generateJumpToItemQuery(int itemIndex,
int pageSize)
generateJumpToItemQuery in interface PagingQueryProvideritemIndex - the index of the item to jump topageSize - number of rows to read per page
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||