Add Common Pageable Module

This commit is contained in:
MangKyu
2021-12-28 23:02:51 +09:00
parent 359871375c
commit db750e181b
2 changed files with 42 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
package com.mangkyu.employment.interview.app.common.pagination;
import lombok.Builder;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.ToString;
@Getter
@Builder
@RequiredArgsConstructor
@ToString
public class CursorPageable<T> {
private final T response;
private final ResponseMetaData responseMetaData;
private CursorPageable(final T response, final boolean hasNext, final int page, final int size) {
this.response = response;
this.responseMetaData = new ResponseMetaData(hasNext, page, size);
}
public static <T> CursorPageable<T> of(final T response, final boolean hasNext, final int page, final int size) {
return new CursorPageable<>(response, hasNext, page, size);
}
}

View File

@@ -0,0 +1,16 @@
package com.mangkyu.employment.interview.app.common.pagination;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.ToString;
@Getter
@RequiredArgsConstructor
@ToString
public class ResponseMetaData {
private final boolean hasNext;
private final int page;
private final int size;
}