45 lines
851 B
Java
45 lines
851 B
Java
package io.spring.application;
|
|
|
|
import java.util.List;
|
|
import lombok.Getter;
|
|
|
|
@Getter
|
|
public class CursorPager<T extends Node> {
|
|
private List<T> data;
|
|
private boolean next;
|
|
private boolean previous;
|
|
|
|
public CursorPager(List<T> data, Direction direction, boolean hasExtra) {
|
|
this.data = data;
|
|
|
|
if (direction == Direction.NEXT) {
|
|
this.previous = false;
|
|
this.next = hasExtra;
|
|
} else {
|
|
this.next = false;
|
|
this.previous = hasExtra;
|
|
}
|
|
}
|
|
|
|
public boolean hasNext() {
|
|
return next;
|
|
}
|
|
|
|
public boolean hasPrevious() {
|
|
return previous;
|
|
}
|
|
|
|
public String getStartCursor() {
|
|
return data.isEmpty() ? "" : data.get(0).getCursor();
|
|
}
|
|
|
|
public String getEndCursor() {
|
|
return data.isEmpty() ? "" : data.get(data.size() - 1).getCursor();
|
|
}
|
|
|
|
public enum Direction {
|
|
PREV,
|
|
NEXT
|
|
}
|
|
}
|