123 lines
2.6 KiB
Plaintext
Executable File
123 lines
2.6 KiB
Plaintext
Executable File
package com.fp.dto.query;
|
|
|
|
import java.io.Serializable;
|
|
|
|
/**
|
|
* Objeto que contiene la definicion de un subquery asociado a un bean.
|
|
*
|
|
* @author Jorge Vaca.
|
|
* @version 2.1
|
|
*/
|
|
public class SubQuery implements Serializable {
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
/**
|
|
* Nombre del bean, asociado a una tabla a utilziar en el subquery.
|
|
*/
|
|
private String beanname;
|
|
/**
|
|
* Campo a consultar en el subquery.
|
|
*/
|
|
private String field;
|
|
/**
|
|
* Nombre con el cual se entrega la respuesta, si el alias es null toma el valor de campo.
|
|
*/
|
|
private String alias;
|
|
/**
|
|
* Where con el cual se ejecuta el subquery. <br>
|
|
* Ejemplo considera i.pk.pais = t.pk.pais and i.provincia = t.provincia.<br>
|
|
* siempre va (i) para el bean del subquery y (t) para la tabla externa.
|
|
*/
|
|
private String where;
|
|
|
|
/**
|
|
* Crea una instancia de SubQuery.
|
|
* @param beanname Nombre del bean con el que se realiza el subquery.
|
|
* @param campo Nombre de campo a consultar.
|
|
* @param alias Alias con el cual se entrega la respuesta.
|
|
* @param filtro Filtro a utilziar en el subquery.
|
|
* @throws Exception
|
|
*/
|
|
public SubQuery(String beanname, String field, String alias, String joinFields) throws Exception {
|
|
this.beanname = beanname;
|
|
this.field = field;
|
|
this.alias = alias;
|
|
if (this.alias == null) {
|
|
this.alias = this.field;
|
|
}
|
|
where = " where " + joinFields;
|
|
}
|
|
|
|
public String getSubQuery() throws Exception {
|
|
return "(select i." + field + " from " + beanname + " i " + where + ")";
|
|
}
|
|
|
|
/**
|
|
* Entrega el valor de: beanname
|
|
* @return String
|
|
*/
|
|
public String getBeanname() {
|
|
return beanname;
|
|
}
|
|
|
|
/**
|
|
* Fija el valor de: beanname
|
|
* @param Valor a fijar en el atributo.
|
|
*/
|
|
public void setBeanname(String beanname) {
|
|
this.beanname = beanname;
|
|
}
|
|
|
|
/**
|
|
* 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: alias
|
|
* @return String
|
|
*/
|
|
public String getAlias() {
|
|
return alias;
|
|
}
|
|
|
|
/**
|
|
* Fija el valor de: alias
|
|
* @param Valor a fijar en el atributo.
|
|
*/
|
|
public void setAlias(String alias) {
|
|
this.alias = alias;
|
|
}
|
|
|
|
/**
|
|
* Entrega el valor de: where
|
|
* @return String
|
|
*/
|
|
public String getWhere() {
|
|
return where;
|
|
}
|
|
|
|
/**
|
|
* Fija el valor de: where
|
|
* @param Valor a fijar en el atributo.
|
|
*/
|
|
public void setWhere(String where) {
|
|
this.where = where;
|
|
}
|
|
|
|
|
|
|
|
}
|