Java tutorial
/* * Este programa es software libre; usted puede redistribuirlo y/o modificarlo bajo los trminos * de la licencia "GNU General Public License" publicada por la Fundacin "Free Software Foundation". * * Este programa se distribuye con la esperanza de que pueda ser til, pero SIN NINGUNA GARANTIA; * vea la licencia "GNU General Public License" para obtener mas informacin. * */ package ips1ap101.lib.core.app; import java.util.Map; import ips1ap101.lib.core.db.util.InterpreteSql; import org.apache.commons.lang.StringUtils; /** * @author Jorge Campins */ public class ConsultaBusqueda { private String id; private String select; private String criterios; private Map<String, Object> parametros; private FiltroBusqueda filtro; /** * @return the id */ public String getId() { return id; } /** * @param id the id to set */ public void setId(String id) { this.id = id; } /** * @return the select */ public String getSelect() { return select; } /** * @param select the select to set */ public void setSelect(String select) { this.select = select; } /** * @return the criterios */ public String getCriterios() { return criterios; } /** * @param criterios the criterios to set */ public void setCriterios(String criterios) { this.criterios = criterios; } /** * @return the parametros */ public Map<String, Object> getParametros() { return parametros; } /** * @param parametros the parametros to set */ public void setParametros(Map<String, Object> parametros) { this.parametros = parametros; } /** * @return the filtro */ public FiltroBusqueda getFiltro() { return filtro; } /** * @param filtro the filtro to set */ public void setFiltro(FiltroBusqueda filtro) { this.filtro = filtro; } /** * @return the select statement */ public String getQuerySql() { InterpreteSql interpreteSql = TLC.getInterpreteSql(); String querySql = StringUtils.trimToNull(select); if (querySql != null) { String criteria = getCriteriosConjugados(); if (criteria != null && !criteria.isEmpty()) { querySql += " WHERE (" + criteria + ") "; } querySql = interpreteSql.getComandoSelect(querySql); } return querySql; } /** * @return the criterios parametrizados */ public String getCriteriosConjugados() { InterpreteSql interpreteSql = TLC.getInterpreteSql(); String conjuncion = ""; String clausula = ""; String criteria; String criterio; criteria = StringUtils.trimToNull(criterios); if (criteria != null) { if (parametros != null && !parametros.isEmpty()) { for (String clave : parametros.keySet()) { criterio = interpreteSql.getStringDelimitado(parametros.get(clave)); if (criterio == null) { criteria = criteria.replace(clave, interpreteSql.getNull()); } else { criteria = criteria.replace(clave, criterio); } } } conjuncion += "(" + criteria + ")"; clausula = " AND "; } if (filtro != null) { criteria = StringUtils.trimToNull(filtro.toString()); if (criteria != null) { conjuncion += clausula + "(" + criteria + ")"; } } return interpreteSql.checkClausulaCriterios(conjuncion); } }