요르딩딩

[JAVA Util] ConvertUtils 본문

[Java]

[JAVA Util] ConvertUtils

요르딩딩 2021. 4. 6. 11:41
728x90
반응형

1. HashMap Data -> Query String으로 변환

2. limit, offset을 활용하여 page_no 계산하여 반환

3. page_no, pags_size를 활용하여 offset 계산하여 반환

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class ConvertUtils {
	/**
	 * HashMap Data를 Query String으로 변환
	 * @param HashMap
	 * @return String
	 */
	@SuppressWarnings("rawtypes")
	public static String hashMapToQueryString(HashMap<String,Object> param){
		String paramStr = "";
		Iterator it = param.entrySet().iterator();
		int i = 0;
		while(it.hasNext()){
			i++;
			Map.Entry entry = (Map.Entry)it.next();
			Object key = entry.getKey();
			Object val = entry.getValue();
			if(val == null) {
				continue;
			}
			paramStr += key.toString() + "=" + val.toString();
			if(param.size() > i) {
				paramStr += "&";
			}
		}
		return paramStr;
    }

	/**
	 * limit, offset을 활용하여 page_no 계산하여 반환
	 * @param HashMap
	 * @return int
	 */
	public static int calculatePageNo(HashMap<String,Object> param){
		String limitStr = StringUtil.fixNull(param.get(LIMIT));
		String offsetStr = StringUtil.fixNull(param.get(OFFSET));
		if(ValidationUtils.isEmpty(limitStr) && ValidationUtils.isEmpty(offsetStr)) {
			return 0;
		}
		int limit = Integer.parseInt(limitStr); 
		int offset = Integer.parseInt(offsetStr); 
		return (limit + offset) / limit;
    }
	
	/**
	 * page_no, pags_size를 활용하여 offset 계산하여 반환
	 * @param HashMap
	 * @return int
	 */
	public static int calculateOffset(HashMap<String,Object> param){
		String pageNoStr = StringUtil.fixNull(param.get(PAGE_NO));
		String pageSizeStr = StringUtil.fixNull(param.get(PAGE_SIZE));
		if(ValidationUtils.isEmpty(pageNoStr) && ValidationUtils.isEmpty(pageSizeStr)) {
			return 0;
		}
		int pageNo = Integer.parseInt(pageNoStr); 
		int pageSize = Integer.parseInt(pageSizeStr); 
		return pageSize * (pageNo -1);
    }
}
728x90
반응형

'[Java]' 카테고리의 다른 글

[JAVA] Enum 구현 (1)  (0) 2021.05.04
[JAVA] Coalesce (isNull과 친척관계)  (0) 2021.04.06
Map - Json String 변환  (0) 2021.04.06
[JAVA] 인코더, 디코더  (0) 2021.04.05
String.join(", ", 배열)  (0) 2021.02.24
Comments