Class PageRequest

  • All Implemented Interfaces:
    Serializable
    Direct Known Subclasses:
    SearchPageRequest

    public class PageRequest
    extends Object
    implements Serializable
    Basic Java Bean implementation of PageRequest. See Spring Data Commons, but more flat design and independent of Spring libraries.

    Container for paging, sorting and filtering params:

    • pageNumber: which page to be returned
    • pageSize: how many items on one page
    • sorting: container for sorting order of result list
    • filtering: container for filter criterias of result list
    See Also:
    Serialized Form
    • Constructor Detail

      • PageRequest

        public PageRequest()
      • PageRequest

        public PageRequest​(int pageNumber,
                           int pageSize)
        Creates a new PageRequest. Pages are zero indexed, thus providing 0 for page will return the first page.
        Parameters:
        pageNumber - zero-based page index.
        pageSize - the size of the page to be returned.
      • PageRequest

        public PageRequest​(int pageNumber,
                           int pageSize,
                           Direction direction,
                           String... properties)
        Creates a new PageRequest with sort parameters applied.
        Parameters:
        pageNumber - zero-based page index.
        pageSize - the size of the page to be returned.
        direction - the direction of the Sorting to be specified, can be null.
        properties - the properties to sort by, must not be null or empty.
      • PageRequest

        public PageRequest​(int pageNumber,
                           int pageSize,
                           Sorting sort)
      • PageRequest

        public PageRequest​(int pageNumber,
                           int pageSize,
                           Sorting sort,
                           Filtering filtering)
        Creates a new PageRequest with sort parameters applied.
        Parameters:
        pageNumber - zero-based page index, must not be less than zero.
        pageSize - the size of the page to be returned, must not be less than one.
        sort - can be null
        filtering - contains list of filter criterias
    • Method Detail

      • add

        public List<FilterCriterion> add​(Filtering filtering)
        Add all filter criteria of given filtering to existing filtering. Initialise if no existing filtering.
        Parameters:
        filtering - new filtering criteria to add
        Returns:
        complete filtering
      • getFiltering

        public Filtering getFiltering()
        Returns:
        the filtering parameters
      • getOffset

        public int getOffset()
        Returns:
        the offset to be taken according to the underlying page and page size.
      • getPageNumber

        public int getPageNumber()
        Returns:
        the page to be returned.
      • getPageSize

        public int getPageSize()
        Returns:
        the number of items of that page
      • getSorting

        public Sorting getSorting()
        Returns:
        the sorting parameters
      • hasPrevious

        public boolean hasPrevious()
        Returns whether there's a previous PageRequest we can access from the current one. Will return false in case the current PageRequest already refers to the first page.
        Returns:
        whether there's a previous PageRequest
      • hasSorting

        public boolean hasSorting()
        Returns:
        whether the page request has defined any sorting.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • previous

        public PageRequest previous()
        Returns the PageResponse requesting the previous page.
        Returns:
        the PageResponse requesting the previous page
      • setFiltering

        public void setFiltering​(Filtering filtering)
        Parameters:
        filtering - the filtering criterias
      • setPageNumber

        public void setPageNumber​(int pageNumber)
        Parameters:
        pageNumber - the page to be returned
      • setPageSize

        public void setPageSize​(int pageSize)
        Parameters:
        pageSize - the number of items of that page
      • setSorting

        public void setSorting​(Sorting sorting)
        Parameters:
        sorting - the sorting parameters