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

com.mofum.scope.common.utils.ServiceObjectUtils Maven / Gradle / Ivy

There is a newer version: 2.0.0.RELEASE
Show newest version
package com.mofum.scope.common.utils;

import com.mofum.scope.common.model.Scope;
import com.mofum.scope.common.model.ServiceObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author [email protected]
 * @since 2019-03-27
 **/
public class ServiceObjectUtils {

    public static Map> convert2TypeMap(List list) {

        if (list == null) {
            return null;
        }

        Map> map = new HashMap<>();

        for (Object object : list) {

            if (object instanceof ServiceObject) {

                ServiceObject serviceObject = (ServiceObject) object;

                List dataList = map.get(serviceObject.getType());

                if (dataList == null) {
                    dataList = new ArrayList<>();
                    map.put(serviceObject.getType(), dataList);
                }

                dataList.add(serviceObject);

            }

        }
        return map;

    }

    public static Map> convert2StringList(List list) {
        return convert2StringList(list, false);
    }

    public static Map> convert2StringList(List list, boolean includeObjectClass) {

        Map> serviceObjects = null;

        if (list != null) {

            serviceObjects = new HashMap<>();

            for (Object object : list) {

                if (object instanceof ServiceObject) {

                    ServiceObject serviceObject = (ServiceObject) object;

                    List dataList = serviceObjects.get(serviceObject.getType());

                    if (dataList == null) {
                        dataList = new ArrayList<>();
                        serviceObjects.put(serviceObject.getType(), dataList);
                    }

                    Object data = serviceObject.getData();
                    if (data != null) {

                        if (String.class.equals(data.getClass())) {
                            dataList.add((String) data);
                        } else {
                            if (includeObjectClass) {
                                dataList.add(data.toString());
                            }
                        }

                    }


                }

            }

        }


        return serviceObjects;

    }

    public static Map> convert2ScopeList(List list) {
        return convert2ScopeList(list, false);
    }

    public static Map> convert2ScopeList(List list, boolean includeObjectClass) {

        Map> serviceObjects = null;

        if (list != null) {

            serviceObjects = new HashMap<>();

            for (Object object : list) {

                if (object instanceof ServiceObject) {

                    ServiceObject serviceObject = (ServiceObject) object;

                    List dataList = serviceObjects.get(serviceObject.getType());

                    if (dataList == null) {
                        dataList = new ArrayList<>();
                        serviceObjects.put(serviceObject.getType(), dataList);
                    }

                    Object data = serviceObject.getData();
                    if (data != null) {

                        if (String.class.equals(data.getClass())) {
                            Scope scope = new Scope();
                            scope.setId((String) data);
                        } else {
                            if (includeObjectClass) {
                                Scope scope = new Scope();
                                scope.setId(data.toString());
                            }
                        }

                    }


                }

            }

        }


        return serviceObjects;

    }


}