com.google.gwt.user.cellview.client

## Class AbstractPager

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.google.gwt.user.client.ui.Composite
      - - com.google.gwt.user.cellview.client.AbstractPager

All Implemented Interfaces:
  HasAttachHandlers, HasHandlers, EventListener, HasVisibility, IsRenderable, IsWidget

Direct Known Subclasses:
  PageSizePager, SimplePager

    public abstract class AbstractPager
    extends Composite

An abstract pager that exposes many methods useful for paging.

### Nested Class Summary

### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

`UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

### Field Summary

Fields
`(package private) HandlerRegistration` `rangeChangeHandler`
`(package private) HandlerRegistration` `rowCountChangeHandler`

### Fields inherited from class com.google.gwt.user.client.ui.UIObject

`DEBUG_ID_PREFIX`

### Constructor Summary

Constructors
Constructor and Description
`AbstractPager()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected void` `firstPage()` Go to the first page.
`HasRows` `getDisplay()` Get the `HasRows` being paged.
`protected int` `getPage()` Get the current page index.
`protected int` `getPageCount()` Get the number of pages based on the data size.
`int` `getPageSize()` Get the page size.
`int` `getPageStart()` Get the page start index.
`protected boolean` `hasNextPage()` Returns true if there is enough data such that a call to `nextPage()` will succeed in moving the starting point of the table forward.
`protected boolean` `hasNextPages(int pages)` Returns true if there is enough data to display a given number of additional pages.
`protected boolean` `hasPage(int index)` Returns true if there is enough data such that the specified page is within range.
`protected boolean` `hasPreviousPage()` Returns true if there is enough data such that a call to `previousPage()` will succeed in moving the starting point of the table backward.
`protected boolean` `hasPreviousPages(int pages)` Returns true if there is enough data to display a given number of previous pages.
`boolean` `isRangeLimited()` Check if the page should be limited to the actual data size.
`protected void` `lastPage()` Go to the last page.
`protected void` `lastPageStart()` Set the page start to the last index that will still show a full page.
`protected void` `nextPage()` Advance the starting row by 'pageSize' rows.
`protected abstract void` `onRangeOrRowCountChanged()` Called when the range or row count changes.
`protected void` `previousPage()` Move the starting row back by 'pageSize' rows.
`void` `setDisplay(HasRows display)` Set the `HasRows` to be paged.
`protected void` `setPage(int index)` Go to a specific page.
`protected void` `setPageSize(int pageSize)` Set the page size of the display.
`protected void` `setPageStart(int index)` Set the page start index.
`void` `setRangeLimited(boolean isRangeLimited)` Set whether or not the page range should be limited to the actual data size.

### Methods inherited from class com.google.gwt.user.client.ui.Composite

`claimElement, getWidget, initializeClaimedElement, initWidget, isAttached, onAttach, onBrowserEvent, onDetach, render, render, resolvePotentialElement, setWidget`

### Methods inherited from class com.google.gwt.user.client.ui.Widget

`addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getLayoutData, getParent, isOrWasAttached, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents`

### Methods inherited from class com.google.gwt.user.client.ui.UIObject

`addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### rangeChangeHandler

    HandlerRegistration rangeChangeHandler

#### rowCountChangeHandler

    HandlerRegistration rowCountChangeHandler

### Constructor Detail

#### AbstractPager

    public AbstractPager()

### Method Detail

#### getDisplay

    public HasRows getDisplay()

Get the `HasRows` being paged.

Returns:
  the `HasRows`
See Also:
  `setDisplay(HasRows)`

#### getPageSize

    public int getPageSize()

Get the page size.

Returns:
  the page size, or -1 if the display is not set
See Also:
  `setPageSize(int)`

#### getPageStart

    public int getPageStart()

Get the page start index.

Returns:
  the page start index, or -1 if the display is not set
See Also:
  `setPageStart(int)`

#### isRangeLimited

    public boolean isRangeLimited()

Check if the page should be limited to the actual data size. Defaults to true.

Returns:
  true if the range is limited to the data size
See Also:
  `setRangeLimited(boolean)`

#### setRangeLimited

    public void setRangeLimited(boolean isRangeLimited)

Set whether or not the page range should be limited to the actual data size. If true, all operations will adjust so that there is always data visible on the page.

Parameters:
  `isRangeLimited` - true to limit the range, false not to
See Also:
  `isRangeLimited()`

#### setDisplay

    public void setDisplay(HasRows display)

Set the `HasRows` to be paged.

Parameters:
  `display` - the `HasRows`
See Also:
  `getDisplay()`

#### firstPage

    protected void firstPage()

Go to the first page.

#### getPage

    protected int getPage()

Get the current page index.

Since the page start index can be set to any value, its possible to be between pages. In this case, the return value is the number of times `previousPage()` can be called.

Returns:
  the page index, or -1 if the display is not set
See Also:
  `setPage(int)`

#### getPageCount

    protected int getPageCount()

Get the number of pages based on the data size.

Returns:
  the page count, or -1 if the display is not set

#### hasNextPage

    protected boolean hasNextPage()

Returns true if there is enough data such that a call to `nextPage()` will succeed in moving the starting point of the table forward.

Returns:
  true if there is a next page

#### hasNextPages

    protected boolean hasNextPages(int pages)

Returns true if there is enough data to display a given number of additional pages.

Parameters:
  `pages` - the number of pages to query
Returns:
  true if there are `pages` next pages

#### hasPage

    protected boolean hasPage(int index)

Returns true if there is enough data such that the specified page is within range.

Parameters:
  `index` - the page index
Returns:
  true if the specified page is in range

#### hasPreviousPage

    protected boolean hasPreviousPage()

Returns true if there is enough data such that a call to `previousPage()` will succeed in moving the starting point of the table backward.

Returns:
  true if there is a previous page

#### hasPreviousPages

    protected boolean hasPreviousPages(int pages)

Returns true if there is enough data to display a given number of previous pages.

Parameters:
  `pages` - the number of previous pages to query
Returns:
  true if there are `pages` previous pages

#### lastPage

    protected void lastPage()

Go to the last page.

#### lastPageStart

    protected void lastPageStart()

Set the page start to the last index that will still show a full page.

#### nextPage

    protected void nextPage()

Advance the starting row by 'pageSize' rows.

#### onRangeOrRowCountChanged

    protected abstract void onRangeOrRowCountChanged()

Called when the range or row count changes. Implement this method to update the pager.

#### previousPage

    protected void previousPage()

Move the starting row back by 'pageSize' rows.

#### setPage

    protected void setPage(int index)

Go to a specific page.

Parameters:
  `index` - the page index
See Also:
  `getPage()`

#### setPageSize

    protected void setPageSize(int pageSize)

Set the page size of the display.

Parameters:
  `pageSize` - the new page size
See Also:
  `getPageSize()`

#### setPageStart

    protected void setPageStart(int index)

Set the page start index.

Parameters:
  `index` - the index
See Also:
  `getPageStart()`