/* See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* Esri Inc. licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.esri.gpt.framework.request;
import com.esri.gpt.framework.request.PageCursor.IRecordsPerPageProvider;
/**
* The Interface IPageCursor.
*/
public interface IPageCursor {
/**
* Gets the current page for the cursor.
*
* @return the current page
*/
public abstract int getCurrentPage();
/**
* Sets the current page for the cursor.
*
* @param currentPage the current page
*/
public abstract void setCurrentPage(int currentPage);
/**
* Gets the ending page for the cursor.
*
* @return the ending page
*/
public abstract int getEndPage();
/**
* Gets the ending record for the current page.
*
* @return the ending record
*/
public abstract int getEndRecord();
/**
* Determine if the cursor has a next page.
*
* @return true if the cursor has a next page
*/
public abstract boolean getHasNextPage();
/**
* Determine if the cursor has a previous page.
*
* @return true if the cursor has a previous page
*/
public abstract boolean getHasPreviousPage();
/**
* Gets the next page.
*
* @return the next page
*/
public abstract int getNextPage();
/**
* Gets the maximum number of pages to be displayed per cursor.
*
* @return the maximum number of pages per cursor
*/
public abstract int getPagesPerCursor();
/**
* Sets the maximum number of pages to be displayed per cursor.
*
* @param pagesPerCursor the maximum number of pages per cursor
*/
public abstract void setPagesPerCursor(int pagesPerCursor);
/**
* Gets the previous page.
*
* @return the previous page
*/
public abstract int getPreviousPage();
/**
* Gets the maximum number of records to be displayed per page.
*
* @return the maximum number of records per page
*/
public abstract int getRecordsPerPage();
/**
* Sets the maximum number of records to be displayed per page.
*
* @param recordsPerPage the maximum number of records per page
*/
public abstract void setRecordsPerPage(int recordsPerPage);
/**
* Sets records per page provider.
*
* @param recordsPerPageProvider records per page provider
*/
public abstract void setRecordsPerPageProvider(
IRecordsPerPageProvider recordsPerPageProvider);
/**
* Gets the starting page for the cursor.
*
* @return the starting page
*/
public abstract int getStartPage();
/**
* Gets the starting record for the current page.
*
* @return the starting record
*/
public abstract int getStartRecord();
/**
* Gets the total page count.
* <p>
* The total page count is based upon the total record count and the
* number of records per page.
*
* @return the total page count
*/
public abstract int getTotalPageCount();
/**
* Gets the total record count.
* <p>
* This is the total record count associated with a query. It is used in
* conjunction with recordsPerPage to determine the number of pages
* available to the cursor.
*
* @return the total record count
*/
public abstract int getTotalRecordCount();
/**
* Sets the total record count.
* <p>
* This is the total record count associated with a query. It is used in
* conjunction with recordsPerPage to determine the number of pages
* available to the cursor.
*
* @param totalRecordCount the total record count
*/
public abstract void setTotalRecordCount(int totalRecordCount);
/*
* Checks to ensure that the current page is not greater than
* the total page count.
*/
/**
* Check current page.
*/
public abstract void checkCurrentPage();
}