82 lines
2.2 KiB
Plaintext
Executable File
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;
|
|
}
|
|
}
|