package com.ejie.t17i.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import org.codehaus.jackson.annotate.JsonIgnore;

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

public class Localidad implements java.io.Serializable {

	private static final long serialVersionUID = -8458801108860922572L;
	private BigDecimal id;
	private Municipio municipio;
	private String nombre;
	private Long idEntidad;
	private List<Portal> portals = new ArrayList<Portal>();

	/**
	 * Method 'Localidad'.
	 * 
	 */
	public Localidad() {
		//this.nombre=new String();
	}

	/**
	 * Constructor para crear un filtro solo por Id.
	 * 
	 * @param id
	 *            Identificador &uacute;nico de la localidad
	 */
	public Localidad(BigDecimal id) {
		super();
		this.id = id;
	}

	/**
	 * Method 'Localidad'.
	 * 
	 * @param id
	 *            Long
	 * @param nombre
	 *            String
	 * @param idEntidad
	 *            Long
	 * @param municipio
	 *            Municipio
	 */
	public Localidad(BigDecimal id, String nombre, Long idEntidad, Municipio municipio) {
		this.id = id;
		this.municipio = municipio;
		this.nombre = nombre;
		this.idEntidad = idEntidad;
	}

	/**
	 * Method 'Localidad'.
	 * 
	 * @param id
	 *            Long
	 * @param nombre
	 *            String
	 * @param idEntidad
	 *            Long
	 * @param Municipio
	 *            Municipio
	 * @param portals
	 *            List<Portal>
	 */
	public Localidad(BigDecimal id, String nombre, Long idEntidad,
			Municipio Municipio, List<Portal> portals) {

		this.id = id;
		this.municipio = Municipio;
		this.nombre = nombre;
		this.idEntidad = idEntidad;
		this.portals = portals;
	}

	/**
	 * 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 'getMunicipio'.
	 * 
	 * @return Municipio
	 */
	public Municipio getMunicipio() {
		return this.municipio;
	}

	/**
	 * Method 'setMunicipio'.
	 * 
	 * @param municipio
	 *            Municipio
	 * @return
	 */

	public void setMunicipio(Municipio municipio) {
		this.municipio = municipio;
	}

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

	public String getNombre() {
		return this.nombre;
	}

	/**
	 * Method 'setNombre'.
	 * 
	 * @param nombre
	 *            String
	 * @return
	 */

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

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

	public Long getIdEntidad() {
		return this.idEntidad;
	}

	/**
	 * Method 'setIdEntidad'.
	 * 
	 * @param idEntidad
	 *            Long
	 * @return
	 */

	public void setIdEntidad(Long idEntidad) {
		this.idEntidad = idEntidad;
	}

	/**
	 * Method 'getPortals'.
	 * 
	 * @return List
	 */
	@JsonIgnore
	public List<Portal> getPortals() {
		return this.portals;
	}

	/**
	 * Method 'setPortals'.
	 * 
	 * @param portals
	 *            List
	 * @return
	 */
	public void setPortals(List<Portal> portals) {
		this.portals = portals;
	}

	/*
	 * (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;
		Localidad other = (Localidad) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}
}
