maia/.svn/pristine/40/400d62c0f2e3fffc2775b892fb7...

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;
}
}