/* * */ package com.fp.persistence.commondb.helper; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.fp.persistence.commondb.exception.CommondbException; /** * Class MapUtil encargada de maneja los resultados de un Query. * * @author gfiallos */ public final class MapUtil { /** El valor de instance. */ private static MapUtil instance = null; /** * Crea una nueva instancia de map util. */ private MapUtil() { } /** * Obtiene la Ășnica instancia de MapUtil. * * @return Ășnica instancia de MapUtil */ public static MapUtil getInstance() { synchronized (MapUtil.class) { if (MapUtil.instance == null) { MapUtil.instance = new MapUtil(); } return MapUtil.instance; } } /** * Convierte los datos de una lista de objectos a una lista de Maps * * @param pData data en Arreglo * @param pNames Nombre de los key por campo * @return list data convertida * @throws CommondbException la commondb exception */ public List> arrayToMapList(List pData, String... pNames) throws CommondbException { List> data = new ArrayList>(); for (Object[] obj : pData) { data.add(this.arrayToMap(obj, pNames)); } return data; } /** * TRansforma un arreglo de objetos a Map * * @param pData Data en arraglo * @param pNames Nombre de los Keys * @return map Resultado * @throws CommondbException la commondb exception */ public Map arrayToMap(Object[] pData, String... pNames) throws CommondbException { Map data = new HashMap(); if ((pData == null) || (pNames == null) || (pData.length < pNames.length)) { throw new CommondbException("COMMONDB-00021", "NUMERO DE ETIQUETAS ERRADO"); } for (int i = 0; i < pData.length; i++) { if (i >= pNames.length) { break; } data.put(pNames[i], pData[i]); } return data; } }