Class SeekedPageIterator<T,S extends Seekable>

java.lang.Object
net.n2oapp.platform.seek.SeekedPageIterator<T,S>
Type Parameters:
T - Тип элементов
S - Тип Seekable
All Implemented Interfaces:
Iterator<SeekedPage<T>>

public class SeekedPageIterator<T,S extends Seekable> extends Object implements Iterator<SeekedPage<T>>
Итератор по страницам SeekedPage.
  • Method Details

    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator<T>
    • next

      public SeekedPage<T> next()
      Specified by:
      next in interface Iterator<T>
    • from

      public static <T, S extends Seekable> SeekedPageIterator<T,S> from(Function<? super S,SeekedPage<T>> pageSource, BiConsumer<? super S,RequestedPageEnum> setPage, BiConsumer<? super S,List<SeekPivot>> setPivots, S seekable)
      Type Parameters:
      T - Тип элементов
      S - Тип Seekable
      Parameters:
      pageSource - Источник данных
      seekable - Seekable (будет модифицирован)
      Returns:
      Итератор, который будет использовать SeekedPageIterator.ReflectionPivotsMaker.INSTANCE в качестве pivotsMaker-а. Это удобно, но медленно, негибко и не всегда подходит.
    • from

      public static <T, S extends SeekRequest> SeekedPageIterator<T,S> from(Function<? super S,SeekedPage<T>> pageSource, S request)
    • from

      public static <T, S extends Seekable> SeekedPageIterator<T,S> from(Function<? super S,SeekedPage<T>> pageSource, BiFunction<? super T,? super List<org.springframework.data.domain.Sort.Order>,List<SeekPivot>> pivotsMaker, BiConsumer<? super S,RequestedPageEnum> setPage, BiConsumer<? super S,List<SeekPivot>> setPivots, S seekable)
      Метод для ситуаций, когда вызывающий не знает точно, какой порядок задан в передаваемой seekable.
      Type Parameters:
      T - Тип элементов
      S - Тип Seekable
      Parameters:
      pageSource - Источник данных
      pivotsMaker - Функция, принимающая элемент типа T и список Sort.Order orders и возвращающая список SeekPivot-ов в соответствии со списком orders.
      seekable - Seekable (будет модифицирован)
    • from

      public static <T, S extends SeekRequest> SeekedPageIterator<T,S> from(Function<? super S,SeekedPage<T>> pageSource, BiFunction<? super T,? super List<org.springframework.data.domain.Sort.Order>,List<SeekPivot>> pivotsMaker, S request)
    • from

      public static <T, S extends Seekable> SeekedPageIterator<T,S> from(Function<? super S,SeekedPage<T>> pageSource, Function<? super T,List<SeekPivot>> pivotsMaker, BiConsumer<? super S,RequestedPageEnum> setPage, BiConsumer<? super S,List<SeekPivot>> setPivots, S seekable)
      Метод для ситуаций, когда тот, кто создал итератор, задал список Seekable.getSort(). То есть вызывающий точно знает, какая сортировка будет и может передать эффективную реализацию pivotsMaker.
      Type Parameters:
      T - Тип элементов
      S - Тип Seekable
      Parameters:
      pageSource - Источник данных
      pivotsMaker - Функция, принимающая элемент типа T и возвращающая список SeekPivot-ов в соответствии со списком Seekable.getSort() в переданном Seekable
      seekable - Seekable (будет модифицирован)
    • from

      public static <T, S extends SeekRequest> SeekedPageIterator<T,S> from(Function<? super S,SeekedPage<T>> pageSource, Function<? super T,List<SeekPivot>> pivotsMaker, S request)