Example usage for org.springframework.data.domain Pageable previousOrFirst

List of usage examples for org.springframework.data.domain Pageable previousOrFirst

Introduction

In this page you can find the example usage for org.springframework.data.domain Pageable previousOrFirst.

Prototype

Pageable previousOrFirst();

Source Link

Document

Returns the previous Pageable or the first Pageable if the current one already is the first one.

Usage

From source file:org.wallride.web.support.Pagination.java

public List<Pageable> getPageables(Pageable currentPageable, int interval) {
    List<Pageable> pageables = new ArrayList<>();

    int start = page.getNumber() - interval;
    if (start < 0) {
        start = 0;// w  ww.j a v  a2  s  .co  m
    }
    int end = page.getNumber() + interval;
    if (end > page.getTotalPages() - 1) {
        end = page.getTotalPages() - 1;
    }

    Pageable p;
    p = currentPageable;
    for (int i = getCurrentPageNumber(); i > start; i--) {
        p = p.previousOrFirst();
        pageables.add(p);
    }

    Collections.reverse(pageables);
    pageables.add(currentPageable);

    p = currentPageable;
    for (int i = getCurrentPageNumber(); i < end; i++) {
        p = p.next();
        pageables.add(p);
    }

    return pageables;
}