package itn.com.utl.page;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
public class PaginationUtil {
/**
* 작성자 : 조민수
* 작성일자 : 2026/07/24
* 공통 페이징 정보를 초기화한다.
*
*
사용 방법 및 적용 예시는 사내 Wiki의
* 'https://wiki.iten.co.kr/40.프로젝트:2026_base_프로젝트:0.참고자료:공용함수정보:pagination-util' 문서를 참고한다.
*
* @param BasePaginationVO를 상속한 VO
* @return 초기화된 PaginationInfo
*/
public static PaginationInfo init(T vo) {
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getPageUnit());
paginationInfo.setPageSize(vo.getPageSize());
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
return paginationInfo;
}
public static PaginationInfo initWithSort(T vo, String defaultCnd, String defaultOrd) {
if(vo.getSearchSortCnd() == null || vo.getSearchSortCnd().isEmpty()) {
vo.setSearchSortCnd(defaultCnd);
}
if (vo.getSearchSortOrd() == null || vo.getSearchSortOrd().isEmpty()) {
vo.setSearchSortOrd(defaultOrd); // asc / desc
}
return init(vo);
}
}