OffsetBasedPageRequest.java

package se.jobtechdev.personaldatagateway.api.util;

import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;

public class OffsetBasedPageRequest extends PageRequest {

  private OffsetBasedPageRequest(Integer offset, Integer limit, Sort sort) {
    super(offset / limit, limit, sort);
  }

  public static OffsetBasedPageRequest of(Integer offset, Integer limit, Sort sort) {
    return new OffsetBasedPageRequest(
        null == offset ? 0 : offset,
        null == limit ? 10 : limit,
        sort);
  }

  public static OffsetBasedPageRequest of(Integer offset, Integer limit) {
    return OffsetBasedPageRequest.of(offset, limit, Sort.by("created"));
  }
}