Interface Slice<T>

Type Parameters:
T - The generic type
All Superinterfaces:
Iterable<T>
All Known Subinterfaces:
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

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

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

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

      @NonNull default @NonNull Pageable nextPageable()
      Returns:
      The next pageable
    • previousPageable

      @NonNull default @NonNull Pageable previousPageable()
      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

      @NonNull default @NonNull Sort getSort()
      Returns:
      The sort
    • getNumberOfElements

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

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

      @NonNull default <T2> @NonNull 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

      @NonNull static <T2> @NonNull Slice<T2> of(@NonNull @NonNull List<T2> content, @NonNull @NonNull 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