com.atlassian.bamboo.plugins.rest.common
Class PagerPaginationSupport

java.lang.Object
  extended by com.atlassian.bamboo.plugins.rest.common.PagerPaginationSupport

public class PagerPaginationSupport
extends java.lang.Object

TODO: Copied From Bucket. There eventually will be a copy residing in atlassian-user if JustinK ever finishes his work! we should get rid of this one and use the atlassian-user if it ever happens. This class stores its items using a Pager - which cannot report the total size of the result. The Pager.getCurrentPage() returns a list of objects currently loaded in memory, which can return a List.size(). This number is imprecise, however, and is used as functional approximation. For various reasons explained in the {#link Pager} javadoc, the only way to gain an accurate total size from a {#link Pager} is by using its iterator and keeping count of each object.

If you have a regular, average sized list of items then use PaginationSupport.


Field Summary
static int DEFAULT_COUNT_ON_EACH_PAGE
           
 int[] nextStartIndexes
           
 java.util.List page
           
 java.lang.Integer pagerSize
           
 int[] previousStartIndexes
           
 
Constructor Summary
PagerPaginationSupport()
           
PagerPaginationSupport(int countOnEachPage)
           
 
Method Summary
 int getCountOnEachPage()
           
 int getEndIndex()
           
 com.atlassian.user.search.page.Pager getItems()
           
 int getNextIndex()
           
 int[] getNextStartIndexes()
           
 int getNiceStartIndex()
           
 java.util.List getPage()
          returns a subset of the list of items passed in, based on startIndex and the max result per page
 int getPreviousIndex()
           
 int[] getPreviousStartIndexes()
           
 int getStartIndex()
           
 int getStartIndexValue()
          Always return the start index value, regardless of whether the pagination has any total.
 int getTotal()
           
 boolean isTryNext()
           
 void setItems(com.atlassian.user.search.page.Pager items)
           
 void setStartIndex(int startIndex)
           
 void setTryNext(boolean tryNext)
           
 void skipTo(int indexPosition)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_COUNT_ON_EACH_PAGE

public static int DEFAULT_COUNT_ON_EACH_PAGE

page

public java.util.List page

pagerSize

public java.lang.Integer pagerSize

nextStartIndexes

public int[] nextStartIndexes

previousStartIndexes

public int[] previousStartIndexes
Constructor Detail

PagerPaginationSupport

public PagerPaginationSupport()

PagerPaginationSupport

public PagerPaginationSupport(int countOnEachPage)
Method Detail

getCountOnEachPage

public int getCountOnEachPage()

getItems

public com.atlassian.user.search.page.Pager getItems()

setItems

public void setItems(com.atlassian.user.search.page.Pager items)

setStartIndex

public void setStartIndex(int startIndex)

getEndIndex

public int getEndIndex()

getStartIndex

public int getStartIndex()

getStartIndexValue

public int getStartIndexValue()
Always return the start index value, regardless of whether the pagination has any total.


getNextIndex

public int getNextIndex()

getPreviousIndex

public int getPreviousIndex()

getNextStartIndexes

public int[] getNextStartIndexes()

getPreviousStartIndexes

public int[] getPreviousStartIndexes()

getNiceStartIndex

public int getNiceStartIndex()

getPage

public java.util.List getPage()
returns a subset of the list of items passed in, based on startIndex and the max result per page

Returns:
a page of results

getTotal

public int getTotal()

skipTo

public void skipTo(int indexPosition)

isTryNext

public boolean isTryNext()

setTryNext

public void setTryNext(boolean tryNext)


Copyright © 2012 Atlassian. All Rights Reserved.