package kr.wisestone.owl.util;
|
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.util.StringUtils;
|
|
import java.util.*;
|
|
public class MapUtil {
|
static final Logger log = LoggerFactory.getLogger(MapUtil.class);
|
|
public static Long getLong(Map<String, Object> map, String attr) {
|
Object value = getObject(map, attr);
|
if (StringUtils.isEmpty(value)) {
|
return null;
|
}
|
|
return Long.valueOf(value.toString());
|
}
|
|
@SuppressWarnings("rawtypes")
|
public static List<Long> getLongs(Map<String, Object> map, String attr) {
|
List<Long> values = new ArrayList<Long>();
|
|
Object value = getObject(map, attr);
|
if (value == null) {
|
return null;
|
}
|
|
if (!(value instanceof List)) {
|
return null;
|
}
|
|
for (Object obj : (List) value) {
|
values.add(Long.valueOf(obj.toString()));
|
}
|
|
return values;
|
}
|
|
public static Double getDouble(Map<String, Object> map, String attr) {
|
Object value = getObject(map, attr);
|
if (StringUtils.isEmpty(value)) {
|
return null;
|
}
|
|
return Double.valueOf(value.toString());
|
}
|
|
public static List<Double> getDoubles(Map<String, Object> map, String attr) {
|
List<Double> values = new ArrayList<Double>();
|
|
Object value = getObject(map, attr);
|
if (value == null) {
|
return null;
|
}
|
|
if (!(value instanceof List)) {
|
return null;
|
}
|
|
for (Object obj : (List) value) {
|
values.add(Double.valueOf(obj.toString()));
|
}
|
|
return values;
|
}
|
|
@SuppressWarnings("rawtypes")
|
public static List<String> getStrings(Map<String, Object> map, String attr) {
|
List<String> values = new ArrayList<String>();
|
|
Object value = getObject(map, attr);
|
if (value == null) {
|
return null;
|
}
|
|
if (!(value instanceof List)) {
|
return null;
|
}
|
|
|
|
for (Object obj : (List) value) {
|
values.add(obj.toString());
|
}
|
|
return values;
|
}
|
|
public static Integer getInteger(Map<String, Object> map, String attr) {
|
Object value = getObject(map, attr);
|
if (StringUtils.isEmpty(value)) {
|
return null;
|
}
|
|
return Integer.valueOf(value.toString());
|
}
|
|
/**
|
* 값이 null 또는 ""이면 null을 반환한다.
|
*
|
* @param map
|
* @param attr
|
* @return
|
*/
|
public static String getString(Map<String, Object> map, String attr) {
|
Object value = getObject(map, attr);
|
if (StringUtils.isEmpty(value)) {
|
return null;
|
}
|
|
return value.toString();
|
}
|
|
public static String getString(Map<String, Object> map, String attr, String defaultValue) {
|
Object value = getObject(map, attr);
|
if (StringUtils.isEmpty(value)) {
|
return defaultValue;
|
}
|
|
return value.toString();
|
}
|
|
/**
|
* @param map
|
* @param attr
|
* @return
|
*/
|
public static Object getObject(Map<String, Object> map, String attr) {
|
if (map == null) {
|
return null;
|
}
|
return map.get(attr);
|
}
|
|
public static Boolean getBoolean(Map<String, Object> map, String attr) {
|
if (map != null) {
|
Object value = map.get(attr);
|
if (value != null) {
|
if (value instanceof String) {
|
if ("".equals(value)) {
|
return null;
|
}
|
if ("Y".equals(value)) {
|
return Boolean.TRUE;
|
} else {
|
return Boolean.FALSE;
|
}
|
} else {
|
return Boolean.valueOf(value.toString());
|
}
|
}
|
}
|
|
return null;
|
}
|
|
@SuppressWarnings("rawtypes")
|
public static Map<Long, String> getMap(Map<String, Object> map, String attr) {
|
if (map == null) {
|
return null;
|
}
|
|
Object value = map.get(attr);
|
if (value == null) {
|
return null;
|
}
|
|
if (!(value instanceof Map)) {
|
return null;
|
}
|
|
Map<Long, String> retval = new HashMap<Long, String>();
|
for (Iterator iter = ((Map) value).keySet().iterator(); iter.hasNext();) {
|
Object key = iter.next();
|
|
if (retval.containsKey(key)) {
|
log.error("맵에 중복된 Key가 존재합니다.");
|
return null;
|
}
|
|
retval.put(Long.valueOf(key.toString()), ((Map) value).get(key).toString());
|
}
|
|
return retval;
|
}
|
|
|
|
}
|