package com.ejie.t17i.model;

import java.math.BigDecimal;


/**
 * * T17Portal generated by UDA, 14-feb-2012 15:14:34.
 * 
XXXX
 */

public class Portal implements java.io.Serializable {


	private static final long serialVersionUID = 5321655285262036142L;
	private BigDecimal id;
	private Calle calle;
	private Localidad localidad;
	private String bloque;
	private String numero;
	private String bis;
	private String estado;
	private String codigoPostal;
	private String comboDesc;
	private BigDecimal idTramo;
	private String acepcion;
	private BigDecimal dxEd50;
	private BigDecimal dyEd50;
	private BigDecimal dxEtrs89;
	private BigDecimal dyEtrs89;

	/**
	 * Constructor para crear un filtro solo por Id.
	 * 
	 * @param id
	 *            Identificador &uacute;nico del portal
	 */
	public Portal(BigDecimal id) {
		super();
		this.id = id;
	}
	/**
	 * Constructor para crear un filtro solo por codigoPostal.
	 * 
	 * @param codigoPostal
	 *            C&oacute;digo Postal
	 */
	public Portal(String codigoPostal) {
		super();
		this.codigoPostal = codigoPostal;
	}
	/**
	 * Constructor para crear un filtro solo por bloque, numero, bis.
	 * 
	 * @param codigoPostal
	 *            C&oacute;digo Postal
	 */
	public Portal(String bloque, String numero, String bis) {
		super();
		this.bloque = bloque;
		this.numero = numero;
		this.bis = bis;
	}
	/**
	 * Method 'Portal'.
	 * 
	 */
	public Portal() {
	}

	/**
	 * Method 'Portal'.
	 * 
	 * @param id
	 *            BigDecimal
	 * @param bloque
	 *            String
	 * @param numero
	 *            BigDecimal
	 * @param bis
	 *            String
	 * @param estado
	 *            String
	 * @param codigoPostal
	 *            String
	 * @param idTramo
	 *            BigDecimal
	 * @param acepcion
	 *            String
	 * @param dxEd50
	 *            BigDecimal
	 * @param dyEd50
	 *            BigDecimal
	 * @param dxEtrs89
	 *            BigDecimal
	 * @param dyEtrs89
	 *            BigDecimal
	 * @param calle
	 *            Calle
	 * @param localidad
	 *            Localidad
	 */
	public Portal(BigDecimal id, String bloque, String numero, String bis,
			String estado, String codigoPostal, BigDecimal idTramo,
			String acepcion, BigDecimal dxEd50, BigDecimal dyEd50,
			BigDecimal dxEtrs89, BigDecimal dyEtrs89, Calle calle,
			Localidad localidad) {

		this.id = id;
		this.calle = calle;
		this.localidad = localidad;
		this.bloque = bloque;
		this.numero = numero;
		this.bis = bis;
		this.estado = estado;
		this.codigoPostal = codigoPostal;
		this.idTramo = idTramo;
		this.acepcion = acepcion;
		this.dxEd50 = dxEd50;
		this.dyEd50 = dyEd50;
		this.dxEtrs89 = dxEtrs89;
		this.dyEtrs89 = dyEtrs89;
	}

	/**
	 * Method 'getId'.
	 * 
	 * @return BigDecimal
	 */

	public BigDecimal getId() {
		return this.id;
	}

	/**
	 * Method 'setId'.
	 * 
	 * @param id
	 *            BigDecimal
	 * @return
	 */

	public void setId(BigDecimal id) {
		this.id = id;
	}

	/**
	 * Method 'getCalle'.
	 * 
	 * @return calle
	 */
	public Calle getCalle() {
		return this.calle;
	}

	/**
	 * Method 'setCalle'.
	 * 
	 * @param calle
	 *            Calle
	 * @return
	 */

	public void setCalle(Calle calle) {
		this.calle = calle;
	}

	/**
	 * Method 'getLocalidad'.
	 * 
	 * @return Localidad
	 */
	public Localidad getLocalidad() {
		return this.localidad;
	}

	/**
	 * Method 'setLocalidad'.
	 * 
	 * @param localidad
	 *            Localidad
	 * @return
	 */

	public void setLocalidad(Localidad localidad) {
		this.localidad = localidad;
	}

	/**
	 * Method 'getBloque'.
	 * 
	 * @return String
	 */

	public String getBloque() {
		return this.bloque;
	}

	/**
	 * Method 'setBloque'.
	 * 
	 * @param bloque
	 *            String
	 * @return
	 */

	public void setBloque(String bloque) {
		this.bloque = bloque;
	}

	/**
	 * Method 'getNumero'.
	 * 
	 * @return Long
	 */

	public String getNumero() {
		return this.numero;
	}

	/**
	 * Method 'setNumero'.
	 * 
	 * @param numero
	 *            Long
	 * @return
	 */

	public void setNumero(String numero) {
		this.numero = numero;
	}

	/**
	 * Method 'getBis'.
	 * 
	 * @return String
	 */

	public String getBis() {
		return this.bis;
	}

	/**
	 * Method 'setBis'.
	 * 
	 * @param bis
	 *            String
	 * @return
	 */

	public void setBis(String bis) {
		this.bis = bis;
	}

	/**
	 * Method 'getEstado'.
	 * 
	 * @return String
	 */

	public String getEstado() {
		return this.estado;
	}

	/**
	 * Method 'setEstado'.
	 * 
	 * @param estado
	 *            String
	 * @return
	 */

	public void setEstado(String estado) {
		this.estado = estado;
	}

	/**
	 * Method 'getCodigoPostal'.
	 * 
	 * @return String
	 */

	public String getCodigoPostal() {
		return this.codigoPostal;
	}
	/**
	 * Method 'getCodigoPostal'.
	 * 
	 * @return String
	 */

	public String getCodigoPostalId() {
		return this.codigoPostal;
	}
	/**
	 * Method 'setCodigoPostal'.
	 * 
	 * @param codigoPostal
	 *            String
	 * @return
	 */

	public void setCodigoPostal(String codigoPostal) {
		this.codigoPostal = codigoPostal;
	}

	/**
	 * Method 'getIdTramo'.
	 * 
	 * @return BigDecimal
	 */

	public BigDecimal getIdTramo() {
		return this.idTramo;
	}

	/**
	 * Method 'setIdTramo'.
	 * 
	 * @param idTramo
	 *            BigDecimal
	 * @return
	 */

	public void setIdTramo(BigDecimal idTramo) {
		this.idTramo = idTramo;
	}

	/**
	 * Method 'getAcepcion'.
	 * 
	 * @return String
	 */

	public String getAcepcion() {
		return this.acepcion;
	}

	/**
	 * Method 'setAcepcion'.
	 * 
	 * @param acepcion
	 *            String
	 * @return
	 */

	public void setAcepcion(String acepcion) {
		this.acepcion = acepcion;
	}

	/**
	 * Method 'getDxEd50'.
	 * 
	 * @return BigDecimal
	 */

	public BigDecimal getDxEd50() {
		return this.dxEd50;
	}

	/**
	 * Method 'setDxEd50'.
	 * 
	 * @param dxEd50
	 *            BigDecimal
	 * @return
	 */

	public void setDxEd50(BigDecimal dxEd50) {
		this.dxEd50 = dxEd50;
	}

	/**
	 * Method 'getDyEd50'.
	 * 
	 * @return BigDecimal
	 */

	public BigDecimal getDyEd50() {
		return this.dyEd50;
	}

	/**
	 * Method 'setDyEd50'.
	 * 
	 * @param dyEd50
	 *            BigDecimal
	 * @return
	 */

	public void setDyEd50(BigDecimal dyEd50) {
		this.dyEd50 = dyEd50;
	}

	/**
	 * Method 'getDxEtrs89'.
	 * 
	 * @return BigDecimal
	 */

	public BigDecimal getDxEtrs89() {
		return this.dxEtrs89;
	}

	/**
	 * Method 'setDxEtrs89'.
	 * 
	 * @param dxEtrs89
	 *            BigDecimal
	 * @return
	 */

	public void setDxEtrs89(BigDecimal dxEtrs89) {
		this.dxEtrs89 = dxEtrs89;
	}

	/**
	 * Method 'getDyEtrs89'.
	 * 
	 * @return BigDecimal
	 */

	public BigDecimal getDyEtrs89() {
		return this.dyEtrs89;
	}

	/**
	 * Method 'setDyEtrs89'.
	 * 
	 * @param dyEtrs89
	 *            BigDecimal
	 * @return
	 */

	public void setDyEtrs89(BigDecimal dyEtrs89) {
		this.dyEtrs89 = dyEtrs89;
	}

	/**
	 * 
	 * @return Combo descripcion
	 */
	public String getComboDesc(){
		StringBuffer str = new StringBuffer(this.bloque != null && !this.bloque.isEmpty()? this.bloque : "");
		str.append(this.numero != null && !this.numero.isEmpty() ? (str.length()>0?" ":"")+ this.numero.toString() : "");
		str.append(this.bis != null && !this.bis.isEmpty() ? (str.length()>0?" ":"")+ this.bis : "");
		if (comboDesc!=null && comboDesc.length()>0){
			return comboDesc;
		}
		return str.toString().trim();
	}

	public void setComboDesc(String comboDesc) {
		this.comboDesc = comboDesc;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		return result;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Portal other = (Portal) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}
}
