package com.ejie.ab61.model.terceros;

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.util.Date;

/**
 * DatosDirecciones  
 * 
 *  
 */

public class DatosDirecciones implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Integer idDireccion;
	private DatosTerceros datosTerceros;
	private TiposDireccion tiposDireccion;
	private String direccion;
	private String numero;
	private String escalera;
	private String piso;
	private String letra;
	private String codigoPostal;
	private Long idProvincia;
	private Long idMunicipio;
	private Long idLocalidad;
	private Date fechaRegistro;
	private String usuarioRegistro;
	private Date fechaUltmodificacion;
	private String usuarioUltmodificacion;
	private String establecimiento;
	private Long idPais;

	/**
	 * Method 'DatosDirecciones'.
	 */
	public DatosDirecciones() {
	}

	/**
	 * Method 'DatosDirecciones'.
	 * 
	 * @param idDireccion
	 *            Integer
	 */
	public DatosDirecciones(Integer idDireccion) {
		this.idDireccion = idDireccion;
	}

	/**
	 * Method 'DatosDirecciones'.
	 * 
	 * @param idDireccion
	 *            Integer
	 * @param direccion
	 *            String
	 * @param numero
	 *            String
	 * @param escalera
	 *            String
	 * @param piso
	 *            String
	 * @param letra
	 *            String
	 * @param codigoPostal
	 *            String
	 * @param idPais
	 *            Long
	 * @param idProvincia
	 *            Long
	 * @param idMunicipio
	 *            Long
	 * @param idLocalidad
	 *            Long
	 * @param fechaRegistro
	 *            Date
	 * @param usuarioRegistro
	 *            String
	 * @param fechaUltmodificacion
	 *            Date
	 * @param usuarioUltmodificacion
	 *            String
	 * @param datosTerceros
	 *            DatosTerceros
	 * @param tiposDireccion
	 *            TiposDireccion
	 */
	public DatosDirecciones(Integer idDireccion, String establecimiento, String direccion, String numero,
			String escalera, String piso, String letra, String codigoPostal, Long idPais, Long idProvincia,
			Long idMunicipio, Long idLocalidad, Date fechaRegistro, String usuarioRegistro, Date fechaUltmodificacion,
			String usuarioUltmodificacion, DatosTerceros datosTerceros, TiposDireccion tiposDireccion) {

		this.idDireccion = idDireccion;
		this.establecimiento = establecimiento;
		this.datosTerceros = datosTerceros;
		this.tiposDireccion = tiposDireccion;
		this.direccion = direccion;
		this.numero = numero;
		this.escalera = escalera;
		this.piso = piso;
		this.letra = letra;
		this.codigoPostal = codigoPostal;
		this.idPais = idPais;
		this.idProvincia = idProvincia;
		this.idMunicipio = idMunicipio;
		this.idLocalidad = idLocalidad;
		this.fechaRegistro = fechaRegistro;
		this.usuarioRegistro = usuarioRegistro;
		this.fechaUltmodificacion = fechaUltmodificacion;
		this.usuarioUltmodificacion = usuarioUltmodificacion;

	}

	/**
	 * Method 'getIdDireccion'.
	 *
	 * @return Integer
	 */

	public Integer getIdDireccion() {
		return this.idDireccion;
	}

	/**
	 * Method 'setIdDireccion'.
	 *
	 * @param idDireccion
	 *            Integer
	 * @return
	 */

	public void setIdDireccion(Integer idDireccion) {
		this.idDireccion = idDireccion;
	}

	/**
	 * Method 'getDatosTerceros'.
	 *
	 * @return DatosTerceros
	 */

	public DatosTerceros getDatosTerceros() {
		return this.datosTerceros;
	}

	/**
	 * Method 'setDatosTerceros'.
	 *
	 * @param datosTerceros
	 *            DatosTerceros
	 * @return
	 */

	public void setDatosTerceros(DatosTerceros datosTerceros) {
		this.datosTerceros = datosTerceros;
	}

	/**
	 * Method 'getTiposDireccion'.
	 *
	 * @return TiposDireccion
	 */

	public TiposDireccion getTiposDireccion() {
		return this.tiposDireccion;
	}

	/**
	 * Method 'setTiposDireccion'.
	 *
	 * @param tiposDireccion
	 *            TiposDireccion
	 * @return
	 */

	public void setTiposDireccion(TiposDireccion tiposDireccion) {
		this.tiposDireccion = tiposDireccion;
	}

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

	public String getDireccion() {
		return this.direccion;
	}

	/**
	 * Method 'setDireccion'.
	 *
	 * @param direccion
	 *            String
	 * @return
	 */

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

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

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

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

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

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

	public String getEscalera() {
		return this.escalera;
	}

	/**
	 * Method 'setEscalera'.
	 *
	 * @param escalera
	 *            String
	 * @return
	 */

	public void setEscalera(String escalera) {
		this.escalera = escalera;
	}

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

	public String getPiso() {
		return this.piso;
	}

	/**
	 * Method 'setPiso'.
	 *
	 * @param piso
	 *            String
	 * @return
	 */

	public void setPiso(String piso) {
		this.piso = piso;
	}

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

	public String getLetra() {
		return this.letra;
	}

	/**
	 * Method 'setLetra'.
	 *
	 * @param letra
	 *            String
	 * @return
	 */

	public void setLetra(String letra) {
		this.letra = letra;
	}

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

	public String getCodigoPostal() {
		return this.codigoPostal;
	}

	/**
	 * Method 'setCodigoPostal'.
	 *
	 * @param codigoPostal
	 *            String
	 * @return
	 */

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

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

	public Long getIdProvincia() {
		return this.idProvincia;
	}

	/**
	 * Method 'setIdProvincia'.
	 *
	 * @param idProvincia
	 *            Long
	 * @return
	 */

	public void setIdProvincia(Long idProvincia) {
		this.idProvincia = idProvincia;
	}

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

	public Long getIdMunicipio() {
		return this.idMunicipio;
	}

	/**
	 * Method 'setIdMunicipio'.
	 *
	 * @param idMunicipio
	 *            Long
	 * @return
	 */

	public void setIdMunicipio(Long idMunicipio) {
		this.idMunicipio = idMunicipio;
	}

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

	public Long getIdLocalidad() {
		return this.idLocalidad;
	}

	/**
	 * Method 'setIdLocalidad'.
	 *
	 * @param idLocalidad
	 *            Long
	 * @return
	 */

	public void setIdLocalidad(Long idLocalidad) {
		this.idLocalidad = idLocalidad;
	}

	/**
	 * Method 'getFechaRegistro'.
	 *
	 * @return java.util.Date
	 */

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaRegistro() {
		return this.fechaRegistro;
	}

	/**
	 * Method 'setFechaRegistro'.
	 *
	 * @param fechaRegistro
	 *            java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaRegistro(Date fechaRegistro) {
		this.fechaRegistro = fechaRegistro;
	}

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

	public String getUsuarioRegistro() {
		return this.usuarioRegistro;
	}

	/**
	 * Method 'setUsuarioRegistro'.
	 *
	 * @param usuarioRegistro
	 *            String
	 * @return
	 */

	public void setUsuarioRegistro(String usuarioRegistro) {
		this.usuarioRegistro = usuarioRegistro;
	}

	/**
	 * Method 'getFechaUltmodificacion'.
	 *
	 * @return java.util.Date
	 */

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaUltmodificacion() {
		return this.fechaUltmodificacion;
	}

	/**
	 * Method 'setFechaUltmodificacion'.
	 *
	 * @param fechaUltmodificacion
	 *            java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaUltmodificacion(Date fechaUltmodificacion) {
		this.fechaUltmodificacion = fechaUltmodificacion;
	}

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

	public String getUsuarioUltmodificacion() {
		return this.usuarioUltmodificacion;
	}

	/**
	 * Method 'setUsuarioUltmodificacion'.
	 *
	 * @param usuarioUltmodificacion
	 *            String
	 * @return
	 */

	public void setUsuarioUltmodificacion(String usuarioUltmodificacion) {
		this.usuarioUltmodificacion = usuarioUltmodificacion;
	}

	/**
	 * @return the establecimiento
	 */
	public String getEstablecimiento() {
		return establecimiento;
	}

	/**
	 * @param establecimiento
	 *            the establecimiento to set
	 */
	public void setEstablecimiento(String establecimiento) {
		this.establecimiento = establecimiento;
	}

	/**
	 * @return the idPais
	 */
	public Long getIdPais() {
		return idPais;
	}

	/**
	 * @param idPais
	 *            the idPais to set
	 */
	public void setIdPais(Long idPais) {
		this.idPais = idPais;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "DatosDirecciones [idDireccion=" + idDireccion + ", datosTerceros=" + datosTerceros + ", tiposDireccion="
				+ tiposDireccion + ", direccion=" + direccion + ", numero=" + numero + ", escalera=" + escalera
				+ ", piso=" + piso + ", letra=" + letra + ", codigoPostal=" + codigoPostal + ", idProvincia="
				+ idProvincia + " idPais=" + idPais + ", idMunicipio=" + idMunicipio + ", idLocalidad=" + idLocalidad
				+ ", fechaRegistro=" + fechaRegistro + ", usuarioRegistro=" + usuarioRegistro
				+ ", fechaUltmodificacion=" + fechaUltmodificacion + ", usuarioUltmodificacion="
				+ usuarioUltmodificacion + ", establecimiento=" + establecimiento + "]";
	}

}
