143 lines
3.0 KiB
Plaintext
Executable File
143 lines
3.0 KiB
Plaintext
Executable File
package com.fp.dto.query;
|
|
|
|
import java.io.Serializable;
|
|
|
|
/**
|
|
* Objeto que contiene filtros asociados a una tabla.
|
|
*
|
|
* @author Jorge Vaca.
|
|
* @version 2.1
|
|
*/
|
|
public class Filter implements Serializable {
|
|
|
|
private static final long serialVersionUID = -459214658769947266L;
|
|
/**
|
|
* Nombre del campo perteneciente a la tabla o bean.
|
|
*/
|
|
private String field;
|
|
/**
|
|
* Condicion a aplicar, si es null y el tipo de dato es String se toma like.
|
|
*/
|
|
private String condition;
|
|
/**
|
|
* Valor de la condicion, si es diferente de null se considera en la sentencia.
|
|
*/
|
|
private String value;
|
|
/**
|
|
* Valor de una condicion incluye campo y valor ejemplo: t.modulecode = 12 or t.modulecode is null
|
|
* Este valor es prioritario, si existe se adiciona al where.
|
|
*/
|
|
private String sql;
|
|
|
|
/**
|
|
* Crea una instancia de FIlter.
|
|
*/
|
|
public Filter() {
|
|
}
|
|
|
|
/**
|
|
* Crea una instancia de Filtro, Evalua la condicion del filtro que puede llegar en el nombre del campo ejemplo >=pk.cuidad.
|
|
* @param campo Nombre de un campo pertenceciente a un entity bean.
|
|
* @param valor Valor del criterio.
|
|
* @throws Exception
|
|
*/
|
|
public Filter(String field, String value) throws Exception {
|
|
this.field = field;
|
|
this.value = value;
|
|
if(value.length() > 1){
|
|
evaluadoscriterio(value.substring(0, 2));
|
|
}
|
|
if (condition == null && value.length() > 0) {
|
|
evaluadoscriterio(value.substring(0, 1));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Crea una instancia de Filtro.
|
|
* @param campo Nombre de un campo pertenceciente a un entity bean.
|
|
* @param valor Valor del criterio.
|
|
* @throws Exception
|
|
*/
|
|
public Filter(String field, String condition, String value) {
|
|
this.field = field;
|
|
this.condition = condition;
|
|
this.value = value;
|
|
}
|
|
|
|
private void evaluadoscriterio(String cond) throws Exception {
|
|
if (FilterTypes.getFilterTypes(cond) != null) {
|
|
condition = cond;
|
|
value = value.substring(cond.length(), value.length());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Entrega el valor de: field
|
|
* @return String
|
|
*/
|
|
public String getField() {
|
|
return field;
|
|
}
|
|
|
|
/**
|
|
* Fija el valor de: field
|
|
* @param Valor a fijar en el atributo.
|
|
*/
|
|
public void setField(String field) {
|
|
this.field = field;
|
|
}
|
|
|
|
/**
|
|
* Entrega el valor de: condition
|
|
* @return String
|
|
*/
|
|
public String getCondition() {
|
|
return condition;
|
|
}
|
|
|
|
/**
|
|
* Fija el valor de: condition
|
|
* @param Valor a fijar en el atributo.
|
|
*/
|
|
public void setCondition(String condition) {
|
|
this.condition = condition;
|
|
}
|
|
|
|
/**
|
|
* Entrega el valor de: value
|
|
* @return String
|
|
*/
|
|
public String getValue() {
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* Fija el valor de: value
|
|
* @param Valor a fijar en el atributo.
|
|
*/
|
|
public void setValue(String value) {
|
|
this.value = value;
|
|
}
|
|
|
|
/**
|
|
* Entrega el valor de: sql
|
|
* @return String
|
|
*/
|
|
public String getSql() {
|
|
return sql;
|
|
}
|
|
|
|
/**
|
|
* Fija el valor de: sql
|
|
* @param sql Valor a fijar en el atributo.
|
|
*/
|
|
|
|
public void setSql(String sql) {
|
|
this.sql = sql;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|