package br.com.citframework.integracao.core; import java.util.List; /** * Representa��o de p�gina, que � uma sublista de uma lista de objetos. * * @author bruno.ribeiro - <a href="mailto:bruno.ribeiro@centrait.com.br">bruno.ribeiro@centrait.com.br</a> * @since 01/10/2014 * @see <a href="http://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/domain/Page.html">org.springframework.data.domain.Page</a> */ public interface Page<T> extends Iterable<T> { /** * Retorna o n�mero total de p�ginas * * @return {@code int}: n�mero total de p�ginas */ int getTotalPages(); /** * Retorna a quantidade total de elementos * * @return {@code long}: quantidade total de elementos */ long getTotalElements(); /** * Retorna o n�mero da {@link Page} atual. � sempre n�o negativa * * @return {@code int}: o n�mero da {@link Page} atual */ int getNumber(); /** * Retorna o tamanho da {@link Page} * * @return the size of the {@link Page} */ int getSize(); /** * Retorna o n�mero de elementos da {@link Page} * * @return {@code int} n�mero de elementos da {@link Page} */ int getNumberOfElements(); /** * Recupera, como uma {@link List}, o conte�do de uma p�gina * * @return {@link List}: conte�do da {@link Page} */ List<T> getContent(); /** * Verifica se a {@link Page} possui conte�do * * @return {@code true}, caso possua conte�do {@link Page}. {@code false}, caso contr�rio */ boolean hasContent(); /** * Retorna se a {@link Page} � a primeira * * @return {@code true}, caso seja a primeira {@link Page}. {@code false}, caso contr�rio */ boolean isFirst(); /** * Retorna se a {@link Page} � a �ltima * * @return {@code true}, caso seja a �ltima {@link Page}. {@code false}, caso contr�rio */ boolean isLast(); /** * Retorna exist�ncia de pr�xima p�gina * * @return {@code true}, caso tenha pr�xima {@link Page}. {@code false}, caso contr�rio */ boolean hasNext(); /** * Retorna exist�ncia de p�gina anterior * * @return {@code true}, caso tenha uma {@link Page} anterior. {@code false}, caso contr�rio */ boolean hasPrevious(); /** * Recupera a {@link Pageable} para solicita a pr�xima {@link Page}. Pode ser {@code null} caso a {@link Page} atual seja a �ltima. Usu�rios devem checar, chamando * {@link #hasNext()} antes de chamar este m�todo para ter certeza que o valor retornado n�o ser� {@code null} * * @return {@link Pageable} */ Pageable nextPageable(); /** * Recupera a {@link Pageable} para solicita a {@link Page} anterior. Pode ser {@code null} caso a {@link Page} atual seja a primeira. Usu�rios devem checar, chamando * {@link #hasPrevious()} antes de chamar este m�todo para ter certeza que o valor retornado n�o ser� {@code null} * * @return {@link Pageable} */ Pageable previousPageable(); }