/**
 * 
 */
package com.ejie.t17i.filters;

import java.util.List;

import com.ejie.m62fb.utils.bean.BeanAccess;
import com.ejie.m62fb.utils.sql.FiltroWhereGen;
import com.ejie.m62fb.utils.sql.LikeInWhere;
import com.ejie.t17i.dao.PaisDaoSql;
import com.ejie.t17i.model.Pais;

/**
 * <p>
 * Clase que define el filtro para la entidad Pais de NORA
 * </p>
XXXX
 *  * 
 * @see com.ejie.t17i.model.Pais;
 */
public class PaisFilter extends FiltroWhereGen {

	private Pais pais;
	/**
	 * <p>Constructor</p> 
	 * @param pais Pais con los datos para filtrar
	 * @param params Lista de par&aacute;metros de la <code>SQL</code
	 * @param query Query <code>SQL</code> a modificar
	 * @param like Indica si hay que implementar <code>LIKE</code> y como
	 * 
	 */
	public PaisFilter(final Pais pais,final List<Object> params,final StringBuilder query,final LikeInWhere like){
		super(params,query,like);
		this.pais=pais;
	}

	/**
	 * Devuelve el pa&iacute;s para filtrar
	 * @return El pa&iacute;s para filtrar
	 */
	public Pais getPais() {
		return pais;
	}

	/**
	 * Establece el pa&iacute;s para filtrar
	 * @param pais El pa&iacute;s para filtrar
	 */
	public void setPais(final Pais pais) {
		this.pais = pais;
	}
	
	/**
	 * {@inheritDoc}
	 */
	@Override
	public void generarWhereBE() {
		//ID
		super.addFiltro(PaisDaoSql.ALIAS+".ID = ? ", 
						new BeanAccess("pais.id",  this.pais), 
						FiltroWhereGen.AND);
		//DS_O
		super.addFiltro(" UPPER("+PaisDaoSql.ALIAS+".DS_O) = ? ", 
				new BeanAccess("pais.nombre",  this.pais), 
				FiltroWhereGen.AND);
	}

}
