package com.ejie.ab04b.model;

import java.util.Date;

import org.codehaus.jackson.map.annotate.JsonDeserialize;
import org.codehaus.jackson.map.annotate.JsonSerialize;

import com.ejie.ab04b.model.nora.Municipio;
import com.ejie.ab04b.model.nora.Pais;
import com.ejie.ab04b.model.nora.Provincia;
import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;

/**
 * Ab0484s00 generated by UDA, 20-feb-2017 12:41:54.
 * 
 * @author UDA
 */

public class CoordinadorObra implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	// Clave compuesta
	private String terexp084;
	private String anoexp084;
	private Integer numexp084;
	private String tipcrd084;
	private String tipdoc084;
	private String numdoc084;
	private java.util.Date fecalt084;
	private Long codobra084;
	private Date fecbaj084;
	private String nomcrd084;
	private String paiscrd084;
	private String prvcrd084;
	private String muncrd084;
	private String dmuncrd084;
	private String dircrd084;
	private String cpocrd084;
	private String titcrd084;
	private Long ordexp084;
	private String usualt084;
	private Date fecmod084;
	private String usumod084;
	private String desccrd084;
	private String tlfcrd084;
	private String emailcrd084;
	private Long idape084;

	// añadidos
	private Pais pais;
	private Provincia provincia;
	private Municipio municipio;

	/**
	 * Method 'Ab0484s00'.
	 */
	public CoordinadorObra() {
	}

	/**
	 * Method 'Ab0484s00'.
	 * 
	 *  terexp084
	 *            String
	 *  anoexp084
	 *            String
	 *  numexp084
	 *            Integer
	 *  tipcrd084
	 *            String
	 *  tipdoc084
	 *            String
	 *  numdoc084
	 *            String
	 *  fecalt084
	 *            Date
	 *
	 * @param terexp084 the terexp 084
	 * @param anoexp084 the anoexp 084
	 * @param numexp084 the numexp 084
	 * @param tipcrd084 the tipcrd 084
	 * @param tipdoc084 the tipdoc 084
	 * @param numdoc084 the numdoc 084
	 * @param fecalt084 the fecalt 084
	 */
	public CoordinadorObra(String terexp084, String anoexp084,
			Integer numexp084, String tipcrd084, String tipdoc084,
			String numdoc084, Date fecalt084) {
		this.terexp084 = terexp084;
		this.anoexp084 = anoexp084;
		this.numexp084 = numexp084;
		this.tipcrd084 = tipcrd084;
		this.tipdoc084 = tipdoc084;
		this.numdoc084 = numdoc084;
		this.fecalt084 = fecalt084;
	}

	/**
	 * Method 'Ab0484s00'.
	 * 
	 *  terexp084            String
	 *  anoexp084            String
	 *  numexp084            Integer
	 *  tipcrd084            String
	 *  tipdoc084            String
	 *  numdoc084            String
	 *  fecalt084            Date
	 *  codobra084            Long
	 *  fecbaj084            Date
	 *  nomcrd084            String
	 *  paiscrd084            String
	 *  prvcrd084            String
	 *  muncrd084            String
	 *  dmuncrd084            String
	 *  dircrd084            String
	 *  cpocrd084            String
	 *  titcrd084            String
	 *  ordexp084            Long
	 *  usualt084            String
	 *  fecmod084            Date
	 *  usumod084            String
	 *  desccrd084            String
	 *  tlfcrd084            String
	 *  idape084            Long
	 *  email084 the email 084
	 *
	 * @param terexp084 the terexp 084
	 * @param anoexp084 the anoexp 084
	 * @param numexp084 the numexp 084
	 * @param tipcrd084 the tipcrd 084
	 * @param tipdoc084 the tipdoc 084
	 * @param numdoc084 the numdoc 084
	 * @param fecalt084 the fecalt 084
	 * @param codobra084 the codobra 084
	 * @param fecbaj084 the fecbaj 084
	 * @param nomcrd084 the nomcrd 084
	 * @param paiscrd084 the paiscrd 084
	 * @param prvcrd084 the prvcrd 084
	 * @param muncrd084 the muncrd 084
	 * @param dmuncrd084 the dmuncrd 084
	 * @param dircrd084 the dircrd 084
	 * @param cpocrd084 the cpocrd 084
	 * @param titcrd084 the titcrd 084
	 * @param ordexp084 the ordexp 084
	 * @param usualt084 the usualt 084
	 * @param fecmod084 the fecmod 084
	 * @param usumod084 the usumod 084
	 * @param desccrd084 the desccrd 084
	 * @param tlfcrd084 the tlfcrd 084
	 * @param idape084 the idape 084
	 * @param email084 the email 084
	 */
	public CoordinadorObra(String terexp084, String anoexp084,
			Integer numexp084, String tipcrd084, String tipdoc084,
			String numdoc084, Date fecalt084, Long codobra084, Date fecbaj084,
			String nomcrd084, String paiscrd084, String prvcrd084,
			String muncrd084, String dmuncrd084, String dircrd084,
			String cpocrd084, String titcrd084, Long ordexp084,
			String usualt084, Date fecmod084, String usumod084,
			String desccrd084, String tlfcrd084, Long idape084, String email084) {

		this.terexp084 = terexp084;
		this.anoexp084 = anoexp084;
		this.numexp084 = numexp084;
		this.tipcrd084 = tipcrd084;
		this.tipdoc084 = tipdoc084;
		this.numdoc084 = numdoc084;
		this.fecalt084 = fecalt084;
		this.codobra084 = codobra084;
		this.fecbaj084 = fecbaj084;
		this.nomcrd084 = nomcrd084;
		this.paiscrd084 = paiscrd084;
		this.prvcrd084 = prvcrd084;
		this.muncrd084 = muncrd084;
		this.dmuncrd084 = dmuncrd084;
		this.dircrd084 = dircrd084;
		this.cpocrd084 = cpocrd084;
		this.titcrd084 = titcrd084;
		this.ordexp084 = ordexp084;
		this.usualt084 = usualt084;
		this.fecmod084 = fecmod084;
		this.usumod084 = usumod084;
		this.desccrd084 = desccrd084;
		this.tlfcrd084 = tlfcrd084;
		this.idape084 = idape084;
		this.emailcrd084 = email084;
	}

	/**
	 * Method 'getProvincia'.
	 * 
	 *  String
	 *
	 * @return the provincia
	 */
	public Provincia getProvincia() {
		if (this.provincia != null) {
			return this.provincia;
		} else {
			return null;
		}
	}

	/**
	 * Method 'getMunicipio'.
	 * 
	 *  String
	 *
	 * @return the municipio
	 */
	public Municipio getMunicipio() {
		if (this.municipio != null) {
			return this.municipio;
		} else {
			return null;
		}
	}

	/**
	 * Method 'getProvincia'.
	 * 
	 *  String
	 *
	 * @return the desc provincia
	 */
	public String getDescProvincia() {
		if (this.provincia != null) {
			return this.provincia.getDescripcion();
		} else {
			return null;
		}
	}

	/**
	 * Method 'getMunicipio'.
	 * 
	 *  String
	 *
	 * @return the desc municipio
	 */
	public String getDescMunicipio() {
		if (this.municipio != null) {
			return this.municipio.getDescripcion();
		} else {
			return null;
		}
	}

	/**
	 * Method 'getProvincia'.
	 * 
	 *  String
	 *
	 * @return the cod provincia
	 */
	public String getCodProvincia() {
		if (this.provincia != null) {
			return this.provincia.getCodProvincia();
		} else {
			return null;
		}
	}

	/**
	 * Method 'getMunicipio'.
	 * 
	 *  String
	 *
	 * @return the cod municipio
	 */
	public String getCodMunicipio() {
		if (this.municipio != null) {
			return this.municipio.getCodMunicipio();
		} else {
			return null;
		}
	}

	/**
	 * Method 'getTerexp084'.
	 * 
	 *  String
	 *
	 * @return the terexp 084
	 */

	public String getTerexp084() {
		return this.terexp084;
	}

	/**
	 * Method 'setTerexp084'.
	 * 
	 *  terexp084            String
	 *
	 * @param terexp084 the new terexp 084
	 */

	public void setTerexp084(String terexp084) {
		this.terexp084 = terexp084;
	}

	/**
	 * Method 'getAnoexp084'.
	 * 
	 *  String
	 *
	 * @return the anoexp 084
	 */

	public String getAnoexp084() {
		return this.anoexp084;
	}

	/**
	 * Method 'setAnoexp084'.
	 * 
	 *  anoexp084            String
	 *
	 * @param anoexp084 the new anoexp 084
	 */

	public void setAnoexp084(String anoexp084) {
		this.anoexp084 = anoexp084;
	}

	/**
	 * Method 'getNumexp084'.
	 * 
	 *  Integer
	 *
	 * @return the numexp 084
	 */

	public Integer getNumexp084() {
		return this.numexp084;
	}

	/**
	 * Method 'setNumexp084'.
	 * 
	 *  numexp084            Integer
	 *
	 * @param numexp084 the new numexp 084
	 */

	public void setNumexp084(Integer numexp084) {
		this.numexp084 = numexp084;
	}

	/**
	 * Method 'getTipcrd084'.
	 * 
	 *  String
	 *
	 * @return the tipcrd 084
	 */

	public String getTipcrd084() {
		return this.tipcrd084;
	}

	/**
	 * Method 'setTipcrd084'.
	 * 
	 *  tipcrd084            String
	 *
	 * @param tipcrd084 the new tipcrd 084
	 */

	public void setTipcrd084(String tipcrd084) {
		this.tipcrd084 = tipcrd084;
	}

	/**
	 * Method 'getTipdoc084'.
	 * 
	 *  String
	 *
	 * @return the tipdoc 084
	 */

	public String getTipdoc084() {
		return this.tipdoc084;
	}

	/**
	 * Method 'setTipdoc084'.
	 * 
	 *  tipdoc084            String
	 *
	 * @param tipdoc084 the new tipdoc 084
	 */

	public void setTipdoc084(String tipdoc084) {
		this.tipdoc084 = tipdoc084;
	}

	/**
	 * Method 'getNumdoc084'.
	 * 
	 *  String
	 *
	 * @return the numdoc 084
	 */

	public String getNumdoc084() {
		return this.numdoc084;
	}

	/**
	 * Method 'setNumdoc084'.
	 * 
	 *  numdoc084            String
	 *
	 * @param numdoc084 the new numdoc 084
	 */

	public void setNumdoc084(String numdoc084) {
		this.numdoc084 = numdoc084;
	}

	/**
	 * Method 'getFecalt084'.
	 * 
	 *  Date
	 *
	 * @return the fecalt 084
	 */

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

	/**
	 * Method 'setFecalt084'.
	 * 
	 *  fecalt084            Date
	 *
	 * @param fecalt084 the new fecalt 084
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFecalt084(Date fecalt084) {
		this.fecalt084 = fecalt084;
	}

	/**
	 * Method 'getCodobra084'.
	 * 
	 *  Long
	 *
	 * @return the codobra 084
	 */

	public Long getCodobra084() {
		return this.codobra084;
	}

	/**
	 * Method 'setCodobra084'.
	 * 
	 *  codobra084            Long
	 *
	 * @param codobra084 the new codobra 084
	 */

	public void setCodobra084(Long codobra084) {
		this.codobra084 = codobra084;
	}

	/**
	 * Method 'getFecbaj084'.
	 * 
	 *  java.util.Date
	 *
	 * @return the fecbaj 084
	 */

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

	/**
	 * Method 'setFecbaj084'.
	 * 
	 *  fecbaj084            java.util.Date
	 *
	 * @param fecbaj084 the new fecbaj 084
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFecbaj084(Date fecbaj084) {
		this.fecbaj084 = fecbaj084;
	}

	/**
	 * Method 'getNomcrd084'.
	 * 
	 *  String
	 *
	 * @return the nomcrd 084
	 */

	public String getNomcrd084() {
		return this.nomcrd084;
	}

	/**
	 * Method 'setNomcrd084'.
	 * 
	 *  nomcrd084            String
	 *
	 * @param nomcrd084 the new nomcrd 084
	 */

	public void setNomcrd084(String nomcrd084) {
		this.nomcrd084 = nomcrd084;
	}

	/**
	 * Method 'getPaiscrd084'.
	 * 
	 *  String
	 *
	 * @return the paiscrd 084
	 */

	public String getPaiscrd084() {
		return this.paiscrd084;
	}

	/**
	 * Method 'setPaiscrd084'.
	 * 
	 *  paiscrd084            String
	 *
	 * @param paiscrd084 the new paiscrd 084
	 */

	public void setPaiscrd084(String paiscrd084) {
		this.paiscrd084 = paiscrd084;
	}

	/**
	 * Method 'getPrvcrd084'.
	 * 
	 *  String
	 *
	 * @return the prvcrd 084
	 */

	public String getPrvcrd084() {
		return this.prvcrd084;
	}

	/**
	 * Method 'setPrvcrd084'.
	 * 
	 *  prvcrd084            String
	 *
	 * @param prvcrd084 the new prvcrd 084
	 */

	public void setPrvcrd084(String prvcrd084) {
		this.prvcrd084 = prvcrd084;
	}

	/**
	 * Method 'getMuncrd084'.
	 * 
	 *  String
	 *
	 * @return the muncrd 084
	 */

	public String getMuncrd084() {
		return this.muncrd084;
	}

	/**
	 * Method 'setMuncrd084'.
	 * 
	 *  muncrd084            String
	 *
	 * @param muncrd084 the new muncrd 084
	 */

	public void setMuncrd084(String muncrd084) {
		this.muncrd084 = muncrd084;
	}

	/**
	 * Method 'getDmuncrd084'.
	 * 
	 *  String
	 *
	 * @return the dmuncrd 084
	 */

	public String getDmuncrd084() {
		return this.dmuncrd084;
	}

	/**
	 * Method 'setDmuncrd084'.
	 * 
	 *  dmuncrd084            String
	 *
	 * @param dmuncrd084 the new dmuncrd 084
	 */

	public void setDmuncrd084(String dmuncrd084) {
		this.dmuncrd084 = dmuncrd084;
	}

	/**
	 * Method 'getDircrd084'.
	 * 
	 *  String
	 *
	 * @return the dircrd 084
	 */

	public String getDircrd084() {
		return this.dircrd084;
	}

	/**
	 * Method 'setDircrd084'.
	 * 
	 *  dircrd084            String
	 *
	 * @param dircrd084 the new dircrd 084
	 */

	public void setDircrd084(String dircrd084) {
		this.dircrd084 = dircrd084;
	}

	/**
	 * Method 'getCpocrd084'.
	 * 
	 *  String
	 *
	 * @return the cpocrd 084
	 */

	public String getCpocrd084() {
		return this.cpocrd084;
	}

	/**
	 * Method 'setCpocrd084'.
	 * 
	 *  cpocrd084            String
	 *
	 * @param cpocrd084 the new cpocrd 084
	 */

	public void setCpocrd084(String cpocrd084) {
		this.cpocrd084 = cpocrd084;
	}

	/**
	 * Method 'getTitcrd084'.
	 * 
	 *  String
	 *
	 * @return the titcrd 084
	 */

	public String getTitcrd084() {
		return this.titcrd084;
	}

	/**
	 * Method 'setTitcrd084'.
	 * 
	 *  titcrd084            String
	 *
	 * @param titcrd084 the new titcrd 084
	 */

	public void setTitcrd084(String titcrd084) {
		this.titcrd084 = titcrd084;
	}

	/**
	 * Method 'getOrdexp084'.
	 * 
	 *  Long
	 *
	 * @return the ordexp 084
	 */

	public Long getOrdexp084() {
		return this.ordexp084;
	}

	/**
	 * Method 'setOrdexp084'.
	 * 
	 *  ordexp084            Long
	 *
	 * @param ordexp084 the new ordexp 084
	 */

	public void setOrdexp084(Long ordexp084) {
		this.ordexp084 = ordexp084;
	}

	/**
	 * Method 'getUsualt084'.
	 * 
	 *  String
	 *
	 * @return the usualt 084
	 */

	public String getUsualt084() {
		return this.usualt084;
	}

	/**
	 * Method 'setUsualt084'.
	 * 
	 *  usualt084            String
	 *
	 * @param usualt084 the new usualt 084
	 */

	public void setUsualt084(String usualt084) {
		this.usualt084 = usualt084;
	}

	/**
	 * Method 'getFecmod084'.
	 * 
	 *  java.util.Date
	 *
	 * @return the fecmod 084
	 */

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

	/**
	 * Method 'setFecmod084'.
	 * 
	 *  fecmod084            java.util.Date
	 *
	 * @param fecmod084 the new fecmod 084
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFecmod084(Date fecmod084) {
		this.fecmod084 = fecmod084;
	}

	/**
	 * Method 'getUsumod084'.
	 * 
	 *  String
	 *
	 * @return the usumod 084
	 */

	public String getUsumod084() {
		return this.usumod084;
	}

	/**
	 * Method 'setUsumod084'.
	 * 
	 *  usumod084            String
	 *
	 * @param usumod084 the new usumod 084
	 */

	public void setUsumod084(String usumod084) {
		this.usumod084 = usumod084;
	}

	/**
	 * Method 'getDesccrd084'.
	 * 
	 *  String
	 *
	 * @return the desccrd 084
	 */

	public String getDesccrd084() {
		return this.desccrd084;
	}

	/**
	 * Method 'setDesccrd084'.
	 * 
	 *  desccrd084            String
	 *
	 * @param desccrd084 the new desccrd 084
	 */

	public void setDesccrd084(String desccrd084) {
		this.desccrd084 = desccrd084;
	}

	/**
	 * Method 'getTlfcrd084'.
	 * 
	 *  String
	 *
	 * @return the tlfcrd 084
	 */

	public String getTlfcrd084() {
		return this.tlfcrd084;
	}

	/**
	 * Method 'setTlfcrd084'.
	 * 
	 *  tlfcrd084            String
	 *
	 * @param tlfcrd084 the new tlfcrd 084
	 */

	public void setTlfcrd084(String tlfcrd084) {
		this.tlfcrd084 = tlfcrd084;
	}

	/**
	 * Gets the emailcrd 084.
	 * 
	 *  the emailcrd 084
	 *
	 * @return the emailcrd 084
	 */
	public String getEmailcrd084() {
		return emailcrd084;
	}

	/**
	 * Sets the emailcrd 084.
	 * 
	 *  email084 the new emailcrd 084
	 *
	 * @param email084 the new emailcrd 084
	 */
	public void setEmailcrd084(String email084) {
		this.emailcrd084 = email084;
	}

	/**
	 * Method 'getIdape084'.
	 * 
	 *  Long
	 *
	 * @return the idape 084
	 */

	public Long getIdape084() {
		return this.idape084;
	}

	/**
	 * Method 'setIdape084'.
	 * 
	 *  idape084            Long
	 *
	 * @param idape084 the new idape 084
	 */

	public void setIdape084(Long idape084) {
		this.idape084 = idape084;
	}

	/**
	 * public Provincia getProvincia() { return provincia; }
	 * 
	 * /**.
	 * 
	 *  provincia            the provincia to set
	 *
	 * @param provincia the new provincia
	 */
	public void setProvincia(Provincia provincia) {
		this.provincia = provincia;
	}

	/**
	 * public Municipio getMunicipio() { return municipio; }
	 * 
	 * /**.
	 * 
	 *  municipio            the municipio to set
	 *
	 * @param municipio the new municipio
	 */
	public void setMunicipio(Municipio municipio) {
		this.municipio = municipio;
	}

	/**
	 * Gets the pais.
	 * 
	 *  the pais
	 *
	 * @return the pais
	 */
	public Pais getPais() {
		return pais;
	}

	/**
	 * Sets the pais.
	 * 
	 *  pais            the pais to set
	 *
	 * @param pais the new pais
	 */
	public void setPais(Pais pais) {
		this.pais = pais;
	}

	/**
	 * Sets the apertura.
	 * 
	 *  apertura            ComunicacionApertura
	 *
	 * @param apertura the new apertura
	 */
	public void setApertura(ComunicacionApertura apertura) {
		this.terexp084 = apertura.getTerape056();
		this.anoexp084 = apertura.getAnoape056();
		this.numexp084 = apertura.getNumape056().intValue();
	}

	/**
	 * Intended only for logging and debugging.
	 * 
	 * Here, the contents of every main field are placed into the result.
	 * 
	 *  String
	 *
	 * @return the string
	 */
	@Override
	public String toString() {
		StringBuilder result = new StringBuilder();
		result.append(this.getClass().getName()).append(" Object { ");
		// Clave compuesta

		result.append("[ terexp084: ").append(this.terexp084).append(" ]");

		result.append(", [ anoexp084: ").append(this.anoexp084).append(" ]");

		result.append(", [ numexp084: ").append(this.numexp084).append(" ]");

		result.append(", [ tipcrd084: ").append(this.tipcrd084).append(" ]");

		result.append(", [ tipdoc084: ").append(this.tipdoc084).append(" ]");

		result.append(", [ numdoc084: ").append(this.numdoc084).append(" ]");

		result.append(", [ fecalt084: ").append(this.fecalt084).append(" ]");
		result.append(", [ codobra084: ").append(this.codobra084).append(" ]");
		result.append(", [ fecbaj084: ").append(this.fecbaj084).append(" ]");
		result.append(", [ nomcrd084: ").append(this.nomcrd084).append(" ]");
		result.append(", [ paiscrd084: ").append(this.paiscrd084).append(" ]");
		result.append(", [ prvcrd084: ").append(this.prvcrd084).append(" ]");
		result.append(", [ muncrd084: ").append(this.muncrd084).append(" ]");
		result.append(", [ dmuncrd084: ").append(this.dmuncrd084).append(" ]");
		result.append(", [ dircrd084: ").append(this.dircrd084).append(" ]");
		result.append(", [ cpocrd084: ").append(this.cpocrd084).append(" ]");
		result.append(", [ titcrd084: ").append(this.titcrd084).append(" ]");
		result.append(", [ ordexp084: ").append(this.ordexp084).append(" ]");
		result.append(", [ usualt084: ").append(this.usualt084).append(" ]");
		result.append(", [ fecmod084: ").append(this.fecmod084).append(" ]");
		result.append(", [ usumod084: ").append(this.usumod084).append(" ]");
		result.append(", [ desccrd084: ").append(this.desccrd084).append(" ]");
		result.append(", [ tlfcrd084: ").append(this.tlfcrd084).append(" ]");
		result.append(", [ idape084: ").append(this.idape084).append(" ]");
		result.append(", [ email084: ").append(this.emailcrd084).append(" ]");
		result.append("}");
		return result.toString();
	}

}
