/**
 * 
 */
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.model.TipoVia;

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

	private TipoVia tipovia;
	
	/**
	 * <p>Constructor</p> 
	 * @param tipovia TipoVia 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 TipoViaFilter(final TipoVia tipovia,final List<Object> params,final StringBuilder query,final LikeInWhere like){
		super(params,query,like);
		this.tipovia=tipovia;
	}
	
	/**
	 * Devuelve la tipovia para filtrar
	 * @return La tipovia para filtrar
	 */
	public TipoVia getTipoVia() {
		return tipovia;
	}

	/**
	 * Establece la tipovia para filtrar
	 * @param tipovia La tipovia para filtrar
	 */
	public void setTipoVia(TipoVia tipovia) {
		this.tipovia = tipovia;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public void generarWhereBE() {
		//ID
		super.addFiltro(" t1.ID = ? ", 
				new BeanAccess("tipovia.id",  this.tipovia), 
				FiltroWhereGen.AND);
		//DS_E
		super.addFiltro(" UPPER(t1.DS_E) = ? ", 
				new BeanAccess("tipovia.nombreEu",  this.tipovia), 
				FiltroWhereGen.AND);
		//DS_C
		super.addFiltro(" UPPER(t1.DS_C) = ? ", 
				new BeanAccess("tipovia.nombreEs",  this.tipovia), 
				FiltroWhereGen.AND);
	}

}
