public class PagingDroplet
extends atg.servlet.DynamoServlet
The droplet is designed to render a specific page control UI design where pages are rendered in fixed groups. Where only one group of pages is navigable by page number at any given time. Gestures to navigate to the previous and next groups would also be rendered. The number of pages in a group is configurable. Navigating to a page is expected to use the page's first record's zero based index relative to the total records.
For example, if pages per group is 5 and 10 records per page, page numbers would be rendered in groups of 5 (e.g. 1,2,3,4,5>> followed by <<6,7,8,9,10>>, etc. ). To navigate to page 2 you would use record index 10 because that page displays records 11-20.
The number of records per page is provided as an input parameter, along with the total number of records and the zero based index of the current first record. Everything is calculated from these values.
The droplet calculates the current page group based on the index of the current record. It also determines if there is a previous page group and next page group and their respective record indexes. For example, if the current page group is 6,7,8,9,10, it will calculate the previous page groups (1,2,3,4,5) record index based on the first record of the last page in that group. It will also calculate the next page group(11,12,13,14,15) record index based on the first record of the first page in that group. The idea is that you can render controls to get to the previous and next page groups, along with the current page group. For example, <6,7,8,9,10> The previous control would navigate you to page 5 in the previous page group. The next control would navigate you to page 11 in the next page group.
There are oparams for rendering the previous group, page, current page and next group. Page is rendered for each page in the current group. Current page is rendered for the page that is determined to be current. This to facilitate different UI treatment for the current page. Inut params:
Output params:
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
static java.lang.String |
CURRENT_PAGE_OPARAM
name used to render the current page oparam
|
static atg.nucleus.naming.ParameterName |
CURRENT_RECORD_INDEX
The input param name for specifying current record offset in the result
|
protected java.lang.Integer |
mPagesPerGroup |
static java.lang.String |
NEXT_PAGEGROUP_OPARAM
name used to render the next page oparam
|
static java.lang.String |
NEXT_PAGEGROUP_RECORD_INDEX
The output parameter containing the record offset of the first page in the next page group
|
static java.lang.String |
PAGE_NUMBER
The output parameter containing the current page in the current page number
|
static java.lang.String |
PAGE_OPARAM
name used to render the page oparam
|
static java.lang.String |
PAGE_RECORD_INDEX
The output parameter containing the record offset for the current page
|
static java.lang.String |
PREV_PAGEGROUP_OPARAM
name used to render the previous page oparam
|
static java.lang.String |
PREV_PAGEGROUP_RECORD_INDEX
The output parameter containing the record offset of the last page in the previous page group
|
static atg.nucleus.naming.ParameterName |
RECORDS_PER_PAGE
The input param name for specifying the records per page
|
static atg.nucleus.naming.ParameterName |
TOTAL_RECORDS
The input param name for specifying the total number of records
|
Constructor and Description |
---|
PagingDroplet() |
Modifier and Type | Method and Description |
---|---|
java.lang.Integer |
getPagesPerGroup()
Used to determine how many pages appear in a page group.
|
void |
service(atg.servlet.DynamoHttpServletRequest pRequest,
atg.servlet.DynamoHttpServletResponse pResponse) |
void |
setPagesPerGroup(java.lang.Integer pPagesPerGroup) |
doDelete, doGet, doPost, doPut, getParameter, getParameters, getServletContext, init, service, service, setParameter
destroy, getServletConfig, getServletInfo, setServletInfo
getAverageRequestHandlingTime, getHandledRequestCount, getRequestStartTime, getTotalRequestHandlingTime, isKeepingStatistics, notifyHandledRequest, resetStatistics, setKeepingStatistics
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public static final java.lang.String CLASS_VERSION
public static final atg.nucleus.naming.ParameterName RECORDS_PER_PAGE
public static final atg.nucleus.naming.ParameterName CURRENT_RECORD_INDEX
public static final atg.nucleus.naming.ParameterName TOTAL_RECORDS
public static final java.lang.String PREV_PAGEGROUP_RECORD_INDEX
public static final java.lang.String NEXT_PAGEGROUP_RECORD_INDEX
public static final java.lang.String PAGE_NUMBER
public static final java.lang.String PAGE_RECORD_INDEX
public static final java.lang.String PAGE_OPARAM
public static final java.lang.String PREV_PAGEGROUP_OPARAM
public static final java.lang.String NEXT_PAGEGROUP_OPARAM
public static final java.lang.String CURRENT_PAGE_OPARAM
protected java.lang.Integer mPagesPerGroup
public java.lang.Integer getPagesPerGroup()
public void setPagesPerGroup(java.lang.Integer pPagesPerGroup)
public void service(atg.servlet.DynamoHttpServletRequest pRequest, atg.servlet.DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
service
in class atg.servlet.DynamoServlet
args
- javax.servlet.ServletException
java.io.IOException