All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sc.utils.beanmap.MapUtils Maven / Gradle / Ivy

The newest version!


package com.sc.utils.beanmap;

import org.apache.commons.beanutils.BeanUtils;

import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class MapUtils extends org.apache.commons.collections.MapUtils {

    
    public static  T toObject(Class clazz, Map map) throws InstantiationException, IllegalAccessException, InvocationTargetException {
        T object = clazz.newInstance();
        return toObject(object, map);
    }

    
    public static  T toObject(Class clazz, Map map, boolean toCamelCase) throws InstantiationException, IllegalAccessException, InvocationTargetException {
        T object = clazz.newInstance();
        return toObject(object, map, toCamelCase);
    }

    
    public static  T toObject(T object, Map map) throws InstantiationException, IllegalAccessException, InvocationTargetException {
        return toObject(object, map, false);
    }

    public static  T toObject(T object, Map map, boolean toCamelCase) throws InstantiationException, IllegalAccessException, InvocationTargetException {
        if (toCamelCase)
            map = toCamelCaseMap(map);
        BeanUtils.populate(object, map);
        return object;
    }

    
    @SuppressWarnings("unchecked")
    public static Map toMap(Object object) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
        return BeanUtil.describe(object);
    }

    
    public static  Collection> toMapList(Collection collection) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
        List> retList = new ArrayList>();
        if (collection != null && !collection.isEmpty()) {
            for (Object object : collection) {
                Map map = toMap(object);
                retList.add(map);
            }
        }
        return retList;
    }

    
    public static  Collection> toMapListForFlat(Collection collection) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
        List> retList = new ArrayList>();
        if (collection != null && !collection.isEmpty()) {
            for (Object object : collection) {
                Map map = toMapForFlat(object);
                retList.add(map);
            }
        }
        return retList;
    }

    
    public static Map toMapForFlat(Object object) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
        Map map = toMap(object);
        return toUnderlineStringMap(map);
    }

    
    public static  Map toCamelCaseMap(Map map) {
        Map newMap = new HashMap();
        for (String key : map.keySet()) {
            safeAddToMap(newMap, JavaBeanUtil.toCamelCaseString(key), map.get(key));
        }
        return newMap;
    }

    
    public static  Map toUnderlineStringMap(Map map) {
        Map newMap = new HashMap();
        for (String key : map.keySet()) {
            newMap.put(JavaBeanUtil.toUnderlineString(key), map.get(key));
        }
        return newMap;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy