Class PageBuilder<S,T>

java.lang.Object
org.bremersee.pagebuilder.PageBuilder<S,T>
Type Parameters:
S - the source type
T - the target type

public class PageBuilder<S,T> extends Object
The page builder.
Author:
Christian Bremer
  • Constructor Details

    • PageBuilder

      public PageBuilder()
      Instantiates a new page builder.
  • Method Details

    • sourceEntries

      public PageBuilder<S,T> sourceEntries(Stream<? extends S> entries)
      Sets source entries to the page builder.
      Parameters:
      entries - the entries
      Returns:
      the page builder
    • sourceEntries

      public PageBuilder<S,T> sourceEntries(Iterable<? extends S> entries)
      Sets source entries to the page builder.
      Parameters:
      entries - the entries
      Returns:
      the page builder
    • sourceEntries

      public PageBuilder<S,T> sourceEntries(Iterator<? extends S> entries)
      Sets source entries to the page builder.
      Parameters:
      entries - the entries
      Returns:
      the page builder
    • sourceFilter

      public PageBuilder<S,T> sourceFilter(Predicate<S> sourceFilter)
      Sets source filter to the page builder.
      Parameters:
      sourceFilter - the source filter
      Returns:
      the page builder
    • sourceSortFn

      public PageBuilder<S,T> sourceSortFn(Function<SortOrderItem,Comparator<?>> sourceSortFn)
      Sets source sort function to the page builder.
      Parameters:
      sourceSortFn - the source sort function
      Returns:
      the page builder
    • pageable

      public PageBuilder<S,T> pageable(org.springframework.data.domain.Pageable pageable)
      Sets pageable to the page builder.
      Parameters:
      pageable - the pageable
      Returns:
      the page builder
    • pageable

      public PageBuilder<S,T> pageable(org.springframework.data.domain.Pageable pageable, PageBuilder.SortTarget sortTarget)
      Sets pageable to the page builder.
      Parameters:
      pageable - the pageable
      sortTarget - the sort target
      Returns:
      the page builder
    • pageable

      public PageBuilder<S,T> pageable(Integer pageNumber, Integer pageSize, SortOrderItem... sort)
      Sets pageable to the page builder.
      Parameters:
      pageNumber - the page number
      pageSize - the page size
      sort - the sort
      Returns:
      the page builder
    • pageable

      public PageBuilder<S,T> pageable(Integer pageNumber, Integer pageSize, List<SortOrderItem> sort)
      Sets pageable to the page builder.
      Parameters:
      pageNumber - the page number
      pageSize - the page size
      sort - the sort
      Returns:
      the page builder
    • pageable

      public PageBuilder<S,T> pageable(Integer pageNumber, Integer pageSize, PageBuilder.SortTarget sortTarget, SortOrderItem... sort)
      Sets pageable to the page builder.
      Parameters:
      pageNumber - the page number
      pageSize - the page size
      sortTarget - the sort target
      sort - the sort
      Returns:
      the page builder
    • pageable

      public PageBuilder<S,T> pageable(Integer pageNumber, Integer pageSize, PageBuilder.SortTarget sortTarget, List<SortOrderItem> sort)
      Sets pageable to the page builder.
      Parameters:
      pageNumber - the page number
      pageSize - the page size
      sortTarget - the sort target
      sort - the sort
      Returns:
      the page builder
    • converter

      public PageBuilder<S,T> converter(Function<S,T> converter)
      Sets entry converter to the page builder.
      Parameters:
      converter - the entry converter
      Returns:
      the page builder
    • targetFilter

      public PageBuilder<S,T> targetFilter(Predicate<T> targetFilter)
      Sets target filter to the page builder.
      Parameters:
      targetFilter - the target filter
      Returns:
      the page builder
    • targetSortFn

      public PageBuilder<S,T> targetSortFn(Function<SortOrderItem,Comparator<?>> targetSortFn)
      Sets target sort function to the page builder.
      Parameters:
      targetSortFn - the target sort function
      Returns:
      the page builder
    • build

      public org.springframework.data.domain.Page<T> build()
      Builds the page.
      Returns:
      the page