maia/.svn/pristine/48/48a2cdcc7023d54f7b83b4abf6d...

82 lines
2.2 KiB
Plaintext
Executable File

/*
*
*/
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<Map<String, Object>> arrayToMapList(List<Object[]> pData, String... pNames) throws CommondbException {
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
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<String, Object> arrayToMap(Object[] pData, String... pNames) throws CommondbException {
Map<String, Object> data = new HashMap<String, Object>();
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;
}
}