
package com.ejie.ad74a.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.xml.bind.annotation.XmlRootElement;

import org.apache.commons.lang.StringUtils;

import com.ejie.ad74a.model.comun.Calle;
import com.ejie.ad74a.model.comun.Localidad;
import com.ejie.ad74a.model.comun.Municipio;
import com.ejie.ad74a.model.comun.Pais;
import com.ejie.ad74a.model.comun.Portal;
import com.ejie.ad74a.model.comun.Provincia;
import com.ejie.ad74a.util.comun.Utilidades;
import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/**
 * Direcciones generated by UDA, 10-feb-2023 12:13:19.
 * 
 * @author UDA
 */

@XmlRootElement(name = "Direcciones")
public class Direcciones implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idDireccion06;

	/*******************
	 *** BLOQUE DOBLE **
	 *******************/
	// Puede ser que la direccion sea nora o un literal si no se encuentra en el
	// sistema de nora.
	// Se implementa unos metodos para recuperar el literal en caso de que no exista
	// un ID para
	// el componente de nora. getDESC#####

	// Existen los metodos para acceder directamente a los id de NORA getId###06 y
	// setId####06
	// Que serán aquellos que se graben en BBDD.

	// NORA
	private Pais paisNORA;
	private Provincia provinciaNORA;
	private Municipio municipioNORA;
	private Localidad localidadNORA;
	private Calle calleNORA;
	private Portal portalNORA;

	// LITERAL
	private String pais06;
	private String provincia06;
	private String municipio06;
	private String localidad06;
	private String calle06;
	private String portal06;

	/******************
	 ****** OTROS *****
	 *******************/
	// COMUNES
	private String piso06;
	private String letra06;
	private String cp06;
	private String escalera06;

	private Long idSolicitante06;
	private Date fHistorico06;
	private String usuHistorico06;

	private Date fAlta06;
	private String usuAlta06;

	private PisosTutelados pisosTutelado;

	private List<Solicitantes> solicitanteses = new ArrayList<Solicitantes>();
	private List<PisosTutelados> pisosTuteladoses = new ArrayList<PisosTutelados>();
	private List<Contactos> contactoses = new ArrayList<Contactos>();
	private List<Expedientes> expedienteses = new ArrayList<Expedientes>();

	// Campos de filtrado
	private String descMunFiltro;
	private String descProvFiltro;

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

	/**
	 * Method 'Direcciones'.
	 * 
	 * @param idDireccion06 Long
	 */
	public Direcciones(Long idDireccion06) {
		this.idDireccion06 = idDireccion06;
	}

	/**
	 * Method 'Direcciones'.
	 * 
	 * @param idProvincia06 String
	 */
	public Direcciones(String provincia06) {
		this.provincia06 = provincia06;
	}

	/**
	 * Method 'Direcciones'.
	 * 
	 * @param idDireccion06   Long
	 * @param calle06         String
	 * @param cp06            String
	 * @param idCalle06       Long
	 * @param idLocalidad06   Long
	 * @param idMunicipio06   String
	 * @param idPais06        String
	 * @param idPortal06      String
	 * @param idProvincia06   String
	 * @param letra06         String
	 * @param localidad06     String
	 * @param municipio06     String
	 * @param pais06          String
	 * @param piso06          String
	 * @param portal06        String
	 * @param escalera06      String
	 * @param provincia06     String
	 * @param idSolicitante06 Long
	 * @param usuHistorico06  String
	 * @param fHistorico06    Date
	 * @param fAlta06         Date
	 * @param usuAlta06       String
	 */
	public Direcciones(Long idDireccion06, String calle06, String cp06, Long idCalle06, Long idLocalidad06,
			String idMunicipio06, String idPais06, Long idPortal06, String idProvincia06, String letra06,
			String localidad06, String municipio06, String pais06, String piso06, String portal06, String escalera06,
			String provincia06, Long idSolicitante06, String usuHistorico06, Date fHistorico06, Date FAlta06,
			String usuAlta06) {
		this.idDireccion06 = idDireccion06;
		this.calle06 = calle06;
		this.cp06 = cp06;
		this.calleNORA = new Calle(idCalle06);
		this.localidadNORA = new Localidad(idLocalidad06);
		this.municipioNORA = new Municipio(idMunicipio06, null, idProvincia06);
		this.paisNORA = new Pais(idPais06);
		this.portalNORA = new Portal(idPortal06);
		this.provinciaNORA = new Provincia(idProvincia06, null, null, null);
		this.letra06 = letra06;
		this.localidad06 = localidad06;
		this.municipio06 = municipio06;
		this.pais06 = pais06;
		this.piso06 = piso06;
		this.portal06 = portal06;
		this.escalera06 = escalera06;
		this.provincia06 = provincia06;
		this.idSolicitante06 = idSolicitante06;
		this.usuHistorico06 = usuHistorico06;
		this.fHistorico06 = fHistorico06;
		this.fAlta06 = FAlta06;
		this.usuAlta06 = usuAlta06;
	}

	/**
	 * Method 'Direcciones'.
	 * 
	 * @param idDireccion06       Long
	 * @param calle06             String
	 * @param cp06                String
	 * @param idCalle06           Long
	 * @param idLocalidad06       Long
	 * @param idMunicipio06       String
	 * @param idPais06            String
	 * @param idPortal06          String
	 * @param idProvincia06       String
	 * @param letra06             String
	 * @param localidad06         String
	 * @param municipio06         String
	 * @param pais06              String
	 * @param piso06              String
	 * @param portal06            String
	 * @param escalera06          String
	 * @param provincia06         String
	 * @param idSolicitante06     Long
	 * @param usuHistorico06      String
	 * @param fHistorico06        Date
	 * @param fAlta06             Date
	 * @param usuAlta06           String
	 * @param provinciaNORADescES String
	 * @param provinciaNORADescEU String
	 * @param municipioNORADesc   String
	 * @param localidadNORADesc   String
	 * @param descCalle           String
	 * @param tipoVia             String
	 */
	public Direcciones(Long idDireccion06, String calle06, String cp06, Long idCalle06, Long idLocalidad06,
			String idMunicipio06, String idPais06, Long idPortal06, String idProvincia06, String letra06,
			String localidad06, String municipio06, String pais06, String piso06, String portal06, String escalera06,
			String provincia06, Long idSolicitante06, String usuHistorico06, Date fHistorico06, Date fAlta06,
			String usuAlta06, String provinciaNORADescES, String provinciaNORADescEU, String municipioNORADesc,
			String localidadNORADesc, String descCalle, String tipoVia) {
		this.idDireccion06 = idDireccion06;
		this.calle06 = calle06;
		this.cp06 = cp06;
		this.calleNORA = new Calle(idProvincia06, idMunicipio06, null, idCalle06, descCalle, tipoVia, null, null);
		this.localidadNORA = new Localidad(idProvincia06, idMunicipio06, idLocalidad06, localidadNORADesc);
		this.municipioNORA = new Municipio(idMunicipio06, municipioNORADesc, idProvincia06);
		this.paisNORA = new Pais(idPais06);
		this.portalNORA = new Portal(idPortal06);
		this.provinciaNORA = new Provincia(idProvincia06, provinciaNORADescES, provinciaNORADescEU, null);
		this.letra06 = letra06;
		this.localidad06 = localidad06;
		this.municipio06 = municipio06;
		this.pais06 = pais06;
		this.piso06 = piso06;
		this.portal06 = portal06;
		this.escalera06 = escalera06;
		this.provincia06 = provincia06;
		this.idSolicitante06 = idSolicitante06;
		this.usuHistorico06 = usuHistorico06;
		this.fHistorico06 = fHistorico06;
		this.fAlta06 = fAlta06;
		this.usuAlta06 = usuAlta06;
	}

	/**
	 * Method 'Direcciones'.
	 * 
	 * @param idDireccion06       Long
	 * @param calle06             String
	 * @param cp06                String
	 * @param idCalle06           Long
	 * @param idLocalidad06       Long
	 * @param idMunicipio06       String
	 * @param idPais06            String
	 * @param idPortal06          String
	 * @param idProvincia06       String
	 * @param letra06             String
	 * @param localidad06         String
	 * @param municipio06         String
	 * @param pais06              String
	 * @param piso06              String
	 * @param portal06            String
	 * @param escalera06          String
	 * @param provincia06         String
	 * @param idSolicitante06     Long
	 * @param usuHistorico06      String
	 * @param fHistorico06        Date
	 * @param fAlta06             Date
	 * @param usuAlta06           String
	 * @param provinciaNORADescES String
	 * @param provinciaNORADescEU String
	 * @param municipioNORADesc   String
	 * @param localidadNORADesc   String
	 * @param descCalle           String
	 * @param tipoVia             String
	 * @param numPortal           String
	 * @param bisPortal           String
	 * @param bloquePortal        String
	 */
	public Direcciones(Long idDireccion06, String calle06, String cp06, Long idCalle06, Long idLocalidad06,
			String idMunicipio06, String idPais06, Long idPortal06, String idProvincia06, String letra06,
			String localidad06, String municipio06, String pais06, String piso06, String portal06, String escalera06,
			String provincia06, Long idSolicitante06, String usuHistorico06, Date fHistorico06, Date fAlta06,
			String usuAlta06, String provinciaNORADescES, String provinciaNORADescEU, String municipioNORADesc,
			String localidadNORADesc, String descCalle, String tipoVia, Long numPortal, String bisPortal,
			String bloquePortal) {
		this.idDireccion06 = idDireccion06;
		this.calle06 = calle06;
		this.cp06 = cp06;
		this.calleNORA = new Calle(idProvincia06, idMunicipio06, null, idCalle06, descCalle, tipoVia, null, null);
		this.localidadNORA = new Localidad(idProvincia06, idMunicipio06, idLocalidad06, localidadNORADesc);
		this.municipioNORA = new Municipio(idMunicipio06, municipioNORADesc, idProvincia06);
		this.paisNORA = new Pais(idPais06);
		this.portalNORA = new Portal(idPortal06, bloquePortal, numPortal, bisPortal, null, null, null, null);
		this.provinciaNORA = new Provincia(idProvincia06, provinciaNORADescES, provinciaNORADescEU, null);
		this.letra06 = letra06;
		this.localidad06 = localidad06;
		this.municipio06 = municipio06;
		this.pais06 = pais06;
		this.piso06 = piso06;
		this.portal06 = portal06;
		this.escalera06 = escalera06;
		this.provincia06 = provincia06;
		this.idSolicitante06 = idSolicitante06;
		this.usuHistorico06 = usuHistorico06;
		this.fHistorico06 = fHistorico06;
		this.fAlta06 = fAlta06;
		this.usuAlta06 = usuAlta06;
	}

	/**
	 * Method 'Direcciones'.
	 * 
	 * @param idDireccion06    Long
	 * @param calle06          String
	 * @param cp06             String
	 * @param idCalle06        Long
	 * @param idLocalidad06    Long
	 * @param idMunicipio06    String
	 * @param idPais06         String
	 * @param idPortal06       String
	 * @param idProvincia06    String
	 * @param letra06          String
	 * @param localidad06      String
	 * @param municipio06      String
	 * @param pais06           String
	 * @param piso06           String
	 * @param portal06         String
	 * @param escalera06       String
	 * @param provincia06      String
	 * @param idSolicitante06  Long
	 * @param usuHistorico06   String
	 * @param fHistorico06     Date
	 * @param fAlta06          Date
	 * @param usuAlta06        String
	 * @param solicitanteses   List<Solicitantes>
	 * @param pisosTuteladoses List<PisosTutelados>
	 * @param contactoses      List<Contactos>
	 * @param expedienteses    List<Expedientes>
	 */
	public Direcciones(Long idDireccion06, String calle06, String cp06, Long idCalle06, Long idLocalidad06,
			String idMunicipio06, String idPais06, Long idPortal06, String idProvincia06, String letra06,
			String localidad06, String municipio06, String pais06, String piso06, String portal06, String escalera06,
			String provincia06, Long idSolicitante06, String usuHistorico06, Date fHistorico06, Date fAlta06,
			String usuAlta06, List<Solicitantes> solicitanteses, List<PisosTutelados> pisosTuteladoses,
			List<Contactos> contactoses, List<Expedientes> expedienteses) {

		this.idDireccion06 = idDireccion06;
		this.calle06 = calle06;
		this.cp06 = cp06;
		this.calleNORA = new Calle(idCalle06);
		this.localidadNORA = new Localidad(idLocalidad06);
		this.municipioNORA = new Municipio(idMunicipio06, null, idProvincia06);
		this.paisNORA = new Pais(idPais06);
		this.portalNORA = new Portal(idPortal06);
		this.provinciaNORA = new Provincia(idProvincia06, null, null, null);
		this.letra06 = letra06;
		this.localidad06 = localidad06;
		this.municipio06 = municipio06;
		this.pais06 = pais06;
		this.piso06 = piso06;
		this.portal06 = portal06;
		this.escalera06 = escalera06;
		this.provincia06 = provincia06;
		this.idSolicitante06 = idSolicitante06;
		this.usuHistorico06 = usuHistorico06;
		this.fHistorico06 = fHistorico06;
		this.fAlta06 = fAlta06;
		this.usuAlta06 = usuAlta06;
		this.solicitanteses = solicitanteses;
		this.pisosTuteladoses = pisosTuteladoses;
		this.contactoses = contactoses;
		this.expedienteses = expedienteses;
	}

	/**
	 * Method 'Direcciones'.
	 * 
	 * @param idDireccion06  Long
	 * @param calle06        String
	 * @param cp06           String
	 * @param letra06        String
	 * @param localidad06    String
	 * @param municipio06    String
	 * @param pais06         String
	 * @param piso06         String
	 * @param portal06       String
	 * @param escalera06     String
	 * @param provincia06    String
	 * @param usuHistorico06 String
	 * @param fHistorico06   Date
	 */
	public Direcciones(Long idDireccion06, String calle06, String cp06, String letra06, String localidad06,
			String municipio06, String piso06, String portal06, String escalera06, String provincia06,
			String usuHistorico06, Date fHistorico06) {
		this.idDireccion06 = idDireccion06;
		this.calle06 = calle06;
		this.cp06 = cp06;
		this.letra06 = letra06;
		this.localidad06 = localidad06;
		this.municipio06 = municipio06;
		this.piso06 = piso06;
		this.portal06 = portal06;
		this.escalera06 = escalera06;
		this.provincia06 = provincia06;
		this.usuHistorico06 = usuHistorico06;
		this.fHistorico06 = fHistorico06;
	}

	/**
	 * Method 'Direcciones'.
	 * 
	 * @param idDireccion06
	 * @param calle06
	 * @param cp06
	 * @param idCalle06
	 * @param idLocalidad06
	 * @param idMunicipio06
	 * @param idPais06
	 * @param idPortal06
	 * @param idProvincia06
	 * @param letra06
	 * @param localidad06
	 * @param municipio06
	 * @param pais06
	 * @param piso06
	 * @param portal06
	 * @param escalera06
	 * @param provincia06
	 * @param usuHistorico06
	 * @param fHistorico06
	 * @param provinciaNORADescES
	 * @param provinciaNORADescEU
	 * @param municipioNORADesc
	 * @param localidadNORADesc
	 * @param descCalle
	 * @param tipoVia
	 */
	public Direcciones(Long idDireccion06, String calle06, String cp06, Long idCalle06, Long idLocalidad06,
			String idMunicipio06, String idPais06, Long idPortal06, String idProvincia06, String letra06,
			String localidad06, String municipio06, String pais06, String piso06, String portal06, String escalera06,
			String provincia06, String usuHistorico06, Date fHistorico06, String provinciaNORADescES,
			String provinciaNORADescEU, String municipioNORADesc, String localidadNORADesc, String descCalle,
			String tipoVia) {
		this.idDireccion06 = idDireccion06;
		this.calle06 = calle06;
		this.cp06 = cp06;
		this.calleNORA = new Calle(idProvincia06, idMunicipio06, null, idCalle06, descCalle, tipoVia, null, null);
		this.localidadNORA = new Localidad(idProvincia06, idMunicipio06, idLocalidad06, localidadNORADesc);
		this.municipioNORA = new Municipio(idMunicipio06, municipioNORADesc, idProvincia06);
		this.paisNORA = new Pais(idPais06);
		this.portalNORA = new Portal(idPortal06);
		this.provinciaNORA = new Provincia(idProvincia06, provinciaNORADescES, provinciaNORADescEU, null);
		this.letra06 = letra06;
		this.localidad06 = localidad06;
		this.municipio06 = municipio06;
		this.pais06 = pais06;
		this.piso06 = piso06;
		this.portal06 = portal06;
		this.escalera06 = escalera06;
		this.provincia06 = provincia06;
		this.usuHistorico06 = usuHistorico06;
		this.fHistorico06 = fHistorico06;
	}

	/**
	 * 
	 * @param idDireccion06
	 * @param calle06
	 * @param cp06
	 * @param idCalle06
	 * @param idLocalidad06
	 * @param idMunicipio06
	 * @param idPais06
	 * @param idPortal06
	 * @param idProvincia06
	 * @param letra06
	 * @param localidad06
	 * @param municipio06
	 * @param pais06
	 * @param piso06
	 * @param portal06
	 * @param escalera06
	 * @param provincia06
	 * @param usuHistorico06
	 * @param fHistorico06
	 * @param provinciaNORADescES
	 * @param provinciaNORADescEU
	 * @param municipioNORADesc
	 * @param localidadNORADesc
	 * @param descCalle
	 * @param tipoVia
	 * @param portal
	 */
	public Direcciones(Long idDireccion06, String calle06, String cp06, Long idCalle06, Long idLocalidad06,
			String idMunicipio06, String idPais06, Long idPortal06, String idProvincia06, String letra06,
			String localidad06, String municipio06, String pais06, String piso06, String portal06, String escalera06,
			String provincia06, String usuHistorico06, Date fHistorico06, String provinciaNORADescES,
			String provinciaNORADescEU, String municipioNORADesc, String localidadNORADesc, String descCalle,
			String tipoVia, Portal portal) {
		this.idDireccion06 = idDireccion06;
		this.calle06 = calle06;
		this.cp06 = cp06;
		this.calleNORA = new Calle(idProvincia06, idMunicipio06, null, idCalle06, descCalle, tipoVia, null, null);
		this.localidadNORA = new Localidad(idProvincia06, idMunicipio06, idLocalidad06, localidadNORADesc);
		this.municipioNORA = new Municipio(idMunicipio06, municipioNORADesc, idProvincia06);
		this.paisNORA = new Pais(idPais06);
		this.portalNORA = new Portal(idPortal06);
		this.provinciaNORA = new Provincia(idProvincia06, provinciaNORADescES, provinciaNORADescEU, null);
		this.letra06 = letra06;
		this.localidad06 = localidad06;
		this.municipio06 = municipio06;
		this.pais06 = pais06;
		this.piso06 = piso06;
		this.portal06 = portal06;
		this.escalera06 = escalera06;
		this.provincia06 = provincia06;
		this.usuHistorico06 = usuHistorico06;
		this.fHistorico06 = fHistorico06;
		this.portalNORA = portal;
	}

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

	public Long getIdDireccion06() {
		return this.idDireccion06;
	}

	/**
	 * Method 'setIdDireccion06'.
	 *
	 * @param idDireccion06 Long
	 * @return
	 */

	public void setIdDireccion06(Long idDireccion06) {
		this.idDireccion06 = idDireccion06;
	}

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

	public String getCalle06() {
		return this.calle06;
	}

	/**
	 * Method 'setCalle06'.
	 *
	 * @param calle06 String
	 * @return
	 */

	public void setCalle06(String calle06) {
		this.calle06 = calle06;
	}

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

	public String getCp06() {
		return this.cp06;
	}

	/**
	 * Method 'setCp06'.
	 *
	 * @param cp06 String
	 * @return
	 */

	public void setCp06(String cp06) {
		this.cp06 = cp06;
	}

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

	public Long getIdCalle06() {
		if (this.calleNORA == null
				|| (this.calleNORA.getCodCalle() != null && this.calleNORA.getCodCalle().toString().length() > 15)) {
			return null;
		} else {
			return this.calleNORA.getCodCalle();
		}
	}

	/**
	 * Method 'setIdCalle06'.
	 *
	 * @param idCalle06 Long
	 * @return
	 */

	public void setIdCalle06(Long idCalle06) {
		if (null != idCalle06) {
			if (this.calleNORA == null) {
				this.calleNORA = new Calle(idCalle06);
			} else {
				this.calleNORA.setCodCalle(idCalle06);
			}
		}
	}

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

	public Long getIdLocalidad06() {
		if (this.localidadNORA == null) {
			return null;
		} else {
			return this.localidadNORA.getCodLocalidad();
		}
	}

	/**
	 * Method 'setIdLocalidad06'.
	 *
	 * @param idLocalidad06 Long
	 * @return
	 */

	public void setIdLocalidad06(Long idLocalidad06) {
		if (this.localidadNORA == null) {
			this.localidadNORA = new Localidad(idLocalidad06);
		} else {
			this.localidadNORA.setCodLocalidad(idLocalidad06);
		}
	}

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

	public String getIdMunicipio06() {
		if (this.municipioNORA == null) {
			return null;
		} else {
			return this.municipioNORA.getCodMunicipio();
		}

	}

	/**
	 * Method 'setIdMunicipio06'.
	 *
	 * @param idMunicipio06 String
	 * @return
	 */

	public void setIdMunicipio06(String idMunicipio06) {
		if (this.municipioNORA == null) {
			this.municipioNORA = new Municipio(idMunicipio06, null, null);
		} else {
			this.municipioNORA.setCodMunicipio(idMunicipio06);
		}

	}

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

	public String getIdPais06() {
		if (this.paisNORA == null) {
			return null;
		} else {
			return this.paisNORA.getCodPais();
		}
	}

	/**
	 * Method 'setIdPais06'.
	 *
	 * @param idPais06 String
	 * @return
	 */

	public void setIdPais06(String idPais06) {
		if (null != idPais06) {
			if (this.paisNORA == null) {
				this.paisNORA = new Pais(idPais06);
			} else {
				this.paisNORA.setCodPais(idPais06);
			}
		}
	}

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

	public Long getIdPortal06() {
		if (this.portalNORA == null) {
			return null;
		} else {
			return this.portalNORA.getCodPortal();
		}
	}

	/**
	 * Method 'setIdPortal06'.
	 *
	 * @param idPortal06 String
	 * @return
	 */

	public void setIdPortal06(Long idPortal06) {
		if (null != idPortal06) {
			if (this.portalNORA == null) {
				this.portalNORA = new Portal(idPortal06);
			} else {
				this.portalNORA.setCodPortal(idPortal06);
			}
		}
	}

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

	public String getIdProvincia06() {
		if (this.provinciaNORA == null) {
			return null;
		} else {
			return this.provinciaNORA.getCodProvincia();
		}
	}

	/**
	 * Method 'setIdProvincia06'.
	 *
	 * @param idProvincia06 String
	 * @return
	 */

	public void setIdProvincia06(String idProvincia06) {
		if (this.provinciaNORA == null) {
			this.provinciaNORA = new Provincia(idProvincia06);
		} else {
			this.provinciaNORA.setCodProvincia(idProvincia06);
		}
	}

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

	public String getLetra06() {
		return this.letra06;
	}

	/**
	 * Method 'setLetra06'.
	 *
	 * @param letra06 String
	 * @return
	 */

	public void setLetra06(String letra06) {
		this.letra06 = letra06;
	}

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

	public String getLocalidad06() {
		return this.localidad06;
	}

	/**
	 * Method 'setLocalidad06'.
	 *
	 * @param localidad06 String
	 * @return
	 */

	public void setLocalidad06(String localidad06) {
		this.localidad06 = localidad06;
	}

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

	public String getMunicipio06() {
		return this.municipio06;
	}

	/**
	 * Method 'setMunicipio06'.
	 *
	 * @param municipio06 String
	 * @return
	 */

	public void setMunicipio06(String municipio06) {
		this.municipio06 = municipio06;
	}

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

	public String getPais06() {
		return this.pais06;
	}

	/**
	 * Method 'setPais06'.
	 *
	 * @param pais06 String
	 * @return
	 */

	public void setPais06(String pais06) {
		this.pais06 = pais06;
	}

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

	public String getPiso06() {
		return this.piso06;
	}

	/**
	 * Method 'setPiso06'.
	 *
	 * @param piso06 String
	 * @return
	 */

	public void setPiso06(String piso06) {
		this.piso06 = piso06;
	}

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

	public String getPortal06() {
		return this.portal06;
	}

	/**
	 * Method 'setPortal06'.
	 *
	 * @param portal06 String
	 * @return
	 */

	public void setPortal06(String portal06) {
		this.portal06 = portal06;
	}

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

	public String getProvincia06() {
		return this.provincia06;
	}

	/**
	 * Method 'setProvincia06'.
	 *
	 * @param provincia06 String
	 * @return
	 */

	public void setProvincia06(String provincia06) {
		this.provincia06 = provincia06;
	}

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

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

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

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

	public String getUsuAlta06() {
		return this.usuAlta06;
	}

	/**
	 * Method 'setUsuAlta06'.
	 *
	 * @param usuAlta06 String
	 * @return
	 */

	public void setUsuAlta06(String usuAlta06) {
		this.usuAlta06 = usuAlta06;
	}

	/**
	 * Method 'getSolicitanteses'.
	 *
	 * @return List
	 */
	@JsonIgnore
	public List<Solicitantes> getSolicitanteses() {
		return this.solicitanteses;
	}

	/**
	 * Method 'setSolicitanteses'.
	 *
	 * @param solicitanteses List
	 * @return
	 */
	public void setSolicitanteses(List<Solicitantes> solicitanteses) {
		this.solicitanteses = solicitanteses;
	}

	/**
	 * Method 'getPisosTuteladoses'.
	 *
	 * @return List
	 */
	@JsonIgnore
	public List<PisosTutelados> getPisosTuteladoses() {
		return this.pisosTuteladoses;
	}

	/**
	 * Method 'setPisosTuteladoses'.
	 *
	 * @param pisosTuteladoses List
	 * @return
	 */
	public void setPisosTuteladoses(List<PisosTutelados> pisosTuteladoses) {
		this.pisosTuteladoses = pisosTuteladoses;
	}

	/**
	 * Method 'getContactoses'.
	 *
	 * @return List
	 */
	@JsonIgnore
	public List<Contactos> getContactoses() {
		return this.contactoses;
	}

	/**
	 * Method 'setContactoses'.
	 *
	 * @param contactoses List
	 * @return
	 */
	public void setContactoses(List<Contactos> contactoses) {
		this.contactoses = contactoses;
	}

	/**
	 * Method 'getExpedienteses'.
	 *
	 * @return List
	 */
	@JsonIgnore
	public List<Expedientes> getExpedienteses() {
		return this.expedienteses;
	}

	/**
	 * Method 'setExpedienteses'.
	 *
	 * @param expedienteses List
	 * @return
	 */
	public void setExpedienteses(List<Expedientes> expedienteses) {
		this.expedienteses = expedienteses;
	}

	/**
	 * Intended only for logging and debugging.
	 * 
	 * Here, the contents of every main field are placed into the result.
	 * 
	 * @return String
	 */
	@Override
	public String toString() {
		StringBuilder result = new StringBuilder();
		result.append(this.getClass().getName()).append(" Object { ");
		result.append(" [ idDireccion06: ").append(this.idDireccion06).append(" ]");
		result.append(", [ calle06: ").append(this.calle06).append(" ]");
		result.append(", [ cp06: ").append(this.cp06).append(" ]");
		result.append(", [ idCalle06: ").append(this.getIdCalle06()).append(" ]");
		result.append(", [ idLocalidad06: ").append(this.getIdLocalidad06()).append(" ]");
		result.append(", [ idMunicipio06: ").append(this.getIdMunicipio06()).append(" ]");
		result.append(", [ idPais06: ").append(this.getIdPais06()).append(" ]");
		result.append(", [ idPortal06: ").append(this.getIdPortal06()).append(" ]");
		result.append(", [ idProvincia06: ").append(this.getIdProvincia06()).append(" ]");
		result.append(", [ letra06: ").append(this.letra06).append(" ]");
		result.append(", [ localidad06: ").append(this.localidad06).append(" ]");
		result.append(", [ municipio06: ").append(this.municipio06).append(" ]");
		result.append(", [ pais06: ").append(this.pais06).append(" ]");
		result.append(", [ piso06: ").append(this.piso06).append(" ]");
		result.append(", [ portal06: ").append(this.portal06).append(" ]");
		result.append(", [ escalera06: ").append(this.escalera06).append(" ]");
		result.append(", [ provincia06: ").append(this.provincia06).append(" ]");
		result.append(", [ FAlta06: ").append(this.fAlta06).append(" ]");
		result.append(", [ usuAlta06: ").append(this.usuAlta06).append(" ]");
		result.append("}");
		return result.toString();
	}

	/**
	 * Method 'getMunicipioNORA'.
	 *
	 * @return Municipio
	 */
	public Municipio getMunicipioNORA() {
		return municipioNORA;
	}

	/**
	 * Method 'setMunicipioNORA'.
	 *
	 * @param municipioNORA Municipio
	 * @return
	 */
	public void setMunicipioNORA(Municipio municipioNORA) {
		this.municipioNORA = municipioNORA;
	}

	/**
	 * Method 'getCalleNORA'.
	 *
	 * @return Calle
	 */
	public Calle getCalleNORA() {
		return this.calleNORA;
	}

	/**
	 * Method 'setCalleNORA'.
	 *
	 * @param calleNORA Calle
	 * @return
	 */
	public void setCalleNORA(Calle calleNORA) {
		this.calleNORA = calleNORA;
	}

	/**
	 * Method 'getLocalidadNORA'.
	 *
	 * @return Localidad
	 */
	public Localidad getLocalidadNORA() {
		return localidadNORA;
	}

	/**
	 * Method 'setLocalidadNORA'.
	 *
	 * @param localidadNora Localidad
	 * @return
	 */
	public void setLocalidadNORA(Localidad localidadNora) {
		this.localidadNORA = localidadNora;
	}

	/**
	 * Method 'getPaisNORA'.
	 *
	 * @return Pais
	 */
	public Pais getPaisNORA() {
		return paisNORA;
	}

	/**
	 * Method 'setPaisNORA'.
	 *
	 * @param paisNora Pais
	 * @return
	 */
	public void setPaisNORA(Pais paisNora) {
		this.paisNORA = paisNora;
	}

	/**
	 * Method 'getPortalNORA'.
	 *
	 * @return Portal
	 */
	public Portal getPortalNORA() {
		return portalNORA;
	}

	/**
	 * Method 'setPortalNORA'.
	 *
	 * @param portalNora Portal
	 * @return
	 */
	public void setPortalNORA(Portal portalNora) {
		this.portalNORA = portalNora;
	}

	/**
	 * Method 'getProvinciaNORA'.
	 *
	 * @return Provincia
	 */
	public Provincia getProvinciaNORA() {
		return provinciaNORA;
	}

	/**
	 * Method 'setProvinciaNORA'.
	 *
	 * @param provincia Provincia
	 * @return
	 */
	public void setProvinciaNORA(Provincia provincia) {
		this.provinciaNORA = provincia;
	}

	// Metodos que devuelven el literal en caso de que la direccion no sea nora
	/**
	 * Method 'getDESCPais'.
	 *
	 * @return String
	 */
	public String getDESCPais() {
		if (this.getIdPais06() != null) {
			return this.getPaisNORA().getDescripcion();
		} else {
			return this.getPais06();
		}
	}

	/**
	 * Method 'getDESCProvincia'.
	 *
	 * @return String
	 */
	public String getDESCProvincia() {
		if (this.getIdProvincia06() != null) {
			return this.provinciaNORA.getDescProvincia();
		} else {
			return this.getProvincia06();
		}
	}

	/**
	 * Method 'getDESCMunicipio'.
	 *
	 * @return String
	 */
	public String getDESCMunicipio() {
		if (this.getIdMunicipio06() != null) {
			return this.getMunicipioNORA().getDescripcion();
		} else {
			return this.getMunicipio06();
		}
	}

	/**
	 * Method 'getDESCLocalidad'.
	 *
	 * @return String
	 */
	public String getDESCLocalidad() {
		if (this.getIdLocalidad06() != null) {
			return this.getLocalidadNORA().getDescripcion();
		} else {
			return this.getLocalidad06();
		}
	}

	/**
	 * Method 'getDESCCalle'.
	 *
	 * @return String
	 */
	public String getDESCCalle() {
		if (this.getIdCalle06() != null) {
			return this.getCalleNORA().getDescripcion();
		} else {
			return this.getCalle06();
		}
	}

	/**
	 * Method 'getDESCPortal'.
	 *
	 * @return String
	 */
	public String getDESCPortal() {
		if (this.getIdPortal06() != null) {
			return this.getPortalNORA().getPortalCompleto();
		} else {
			return this.getPortal06();
		}
	}

	/**
	 * Method 'getPisosTutelado'.
	 *
	 * @return PisosTutelados
	 */
	public PisosTutelados getPisosTutelado() {
		return pisosTutelado;
	}

	/**
	 * Method 'setPisosTutelado'.
	 *
	 * @param pisosTutelado PisosTutelados
	 * @return
	 */
	public void setPisosTutelado(PisosTutelados pisosTutelado) {
		this.pisosTutelado = pisosTutelado;
	}

	/**
	 * Method 'getDescMunFiltro'.
	 *
	 * @return String
	 */
	public String getDescMunFiltro() {
		return descMunFiltro;
	}

	/**
	 * Method 'setDescMunFiltro'.
	 *
	 * @param descMunFiltro String
	 * @return
	 */
	public void setDescMunFiltro(String descMunFiltro) {
		this.descMunFiltro = descMunFiltro;
	}

	/**
	 * Method 'getDescProvFiltro'.
	 *
	 * @return String
	 */
	public String getDescProvFiltro() {
		return descProvFiltro;
	}

	/**
	 * Method 'setDescProvFiltro'.
	 *
	 * @param descProvFiltro String
	 * @return
	 */
	public void setDescProvFiltro(String descProvFiltro) {
		this.descProvFiltro = descProvFiltro;
	}

	/**
	 * Method 'getIdSolicitante06'.
	 *
	 * @return Long
	 */
	public Long getIdSolicitante06() {
		return idSolicitante06;
	}

	/**
	 * Method 'setIdSolicitante06'.
	 *
	 * @param idSolicitante06 Long
	 * @return
	 */
	public void setIdSolicitante06(Long idSolicitante06) {
		this.idSolicitante06 = idSolicitante06;
	}

	/**
	 * Method 'getfHistorico06'.
	 *
	 * @return java.util.Date
	 */
	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getfHistorico06() {
		return fHistorico06;
	}

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

	/**
	 * Method 'getUsuHistorico06'.
	 *
	 * @return String
	 */
	public String getUsuHistorico06() {
		return usuHistorico06;
	}

	/**
	 * Method 'setUsuHistorico06'.
	 *
	 * @param usuHistorico06 String
	 * @return
	 */
	public void setUsuHistorico06(String usuHistorico06) {
		this.usuHistorico06 = usuHistorico06;
	}

	/**
	 * Método que devuelve la dirección completa en modo texto sin pais, provincia,
	 * munipcipio
	 * 
	 * @return
	 */
	public String getDireccionCompleta() {
		StringBuilder dir = new StringBuilder("");
		if (this.getCalleNORA() != null) {
			dir.append(Utilidades.stringWithSuffix(this.getCalleNORA().getTipoVia(), " "));
		}
		dir.append(Utilidades.stringWithSuffix(this.getDESCCalle(), ", "));
		dir.append(Utilidades.stringWithSuffix(this.getDESCPortal(), ", "));
		dir.append(StringUtils.trimToEmpty(this.getPiso06()));
		dir.append(StringUtils.trimToEmpty(this.getLetra06()));
		dir.append(Utilidades.stringWithPrefix(this.getCp06(), " "));
		dir.append(Utilidades.stringWithPrefix(this.getDESCLocalidad(), " "));
		return dir.toString();

	}

	/**
	 * Método que devuelve la dirección completa en modo texto sin pais
	 * 
	 * @return
	 */
	public String getDireccionCompletaProvincia() {

		StringBuilder dir = new StringBuilder(this.getDireccionCompleta());
		dir.append(" (").append(this.getDESCMunicipio()).append("), ");
		dir.append(this.getDESCProvincia());

		return dir.toString();

	}

	public String getEscalera06() {
		return escalera06;
	}

	public void setEscalera06(String escalera06) {
		this.escalera06 = escalera06;
	}

}
