Interface Slice<T>

Type Parameters:
T - The generic type
All Superinterfaces:
Iterable<T>
All Known Subinterfaces:
CursoredPage<T>, Page<T>

@DefaultImplementation(io.micronaut.data.model.DefaultSlice.class) public interface Slice<T> extends Iterable<T>
Inspired by the Spring Data's Slice and GORM's PagedResultList, this models a type that supports pagination operations.

A slice is a result list associated with a particular Pageable

Since:
1.0.0
Author:
graemerocher
  • Method Details

    • getContent

      List<T> getContent()
      Returns:
      The content.
    • getPageable

      Pageable getPageable()
      Returns:
      The pageable for this slice.
    • getPageNumber

      default int getPageNumber()
      Returns:
      The page number
    • hasNext

      default boolean hasNext()
      Determine whether there is a next page.
      Returns:
      Whether there exist a next page.
      Since:
      4.8.0
    • hasPrevious

      default boolean hasPrevious()
      Determine whether there is a previous page.
      Returns:
      Whether there exist a previous page.
      Since:
      4.8.0
    • nextPageable

      default Pageable nextPageable()
      Create a pageable for querying the next page of data.

      A pageable may be created even if the end of data was reached to accommodate for cases when new data might be added to the repository. Use hasNext() to verify if you have reached the end.

      Returns:
      The next pageable
    • previousPageable

      default Pageable previousPageable()
      Create a pageable for querying the previous page of data.

      A pageable may be created even if the end of data was reached to accommodate for cases when new data might be added to the repository. Use hasPrevious() to verify if you have reached the end.

      Returns:
      The previous pageable
    • getOffset

      default long getOffset()
      Returns:
      The offset.
    • getSize

      default int getSize()
      Returns:
      The size of the slice.
    • isEmpty

      default boolean isEmpty()
      Returns:
      Whether the slice is empty
    • getSort

      default Sort getSort()
      Returns:
      The sort
    • getNumberOfElements

      default int getNumberOfElements()
      Returns:
      The page of elements
    • iterator

      default Iterator<T> iterator()
      Specified by:
      iterator in interface Iterable<T>
    • map

      default <T2> Slice<T2> map(Function<T,T2> function)
      Maps the content with the given function.
      Type Parameters:
      T2 - The type returned by the function
      Parameters:
      function - The function to apply to each element in the content.
      Returns:
      A new slice with the mapped content
    • of

      static <T2> Slice<T2> of(List<T2> content, Pageable pageable)
      Creates a slice from the given content and pageable.
      Type Parameters:
      T2 - The generic type
      Parameters:
      content - The content
      pageable - The pageable
      Returns:
      The slice