package com.ejie.ab04b.model;

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import java.util.Date;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.map.annotate.JsonDeserialize;
import org.codehaus.jackson.map.annotate.JsonSerialize;

/**
 * Ab0497s00 generated by UDA, 05-Apr-2017 09:34:33.
 * 
 * @author UDA
 */

public class DocumentoOS3 implements java.io.Serializable {

	private static final long serialVersionUID = 1L;

	private Long idDocumento097;
	private TramiteOS3 tramiteOS3;
	private Integer origen097;
	private Date fechaDoc097;
	private String rutaPif097;
	private String nombreDoc097;
	private String oidDokusi097;
	private TipoDocumento tipoDocumento;
	private String formatoAport097;
	private TareaOS3 tareaOS3Continuar;
	private DatosEnvioPostal datosEnvioPostal;

	// datos binarios del fichero
	private byte[] datosFichero;

	// formato para descargar de dokusi
	private String dokusiFormat;

	// para los documentos temporales
	private Long idostemp097;

	/**
	 * Method 'Ab0497s00'.
	 */
	public DocumentoOS3() {
	}

	/**
	 * Method 'Ab0497s00'.
	 * 
	 *  idDocumento097
	 *            Long
	 *
	 * @param idDocumento097 the id documento 097
	 */
	public DocumentoOS3(Long idDocumento097) {
		this.idDocumento097 = idDocumento097;
	}

	/**
	 * Method 'Ab0497s00'.
	 * 
	 *  idDocumento097
	 *            Long
	 *  origen097
	 *            Integer
	 *  fechaDoc097
	 *            Date
	 *  rutaPif097
	 *            String
	 *  nombreDoc097
	 *            String
	 *  oidDokusi097
	 *            String
	 *  tipoDocumento
	 *            TipoDocumento
	 *  datosEnvioPostal
	 *            DatosEnvioPostal
	 *  formatoAport097
	 *            String
	 *  tareaOS3Continuar
	 *            TareaOS3
	 *  tramiteOS3
	 *            TramiteOS3
	 *
	 * @param idDocumento097 the id documento 097
	 * @param origen097 the origen 097
	 * @param fechaDoc097 the fecha doc 097
	 * @param rutaPif097 the ruta pif 097
	 * @param nombreDoc097 the nombre doc 097
	 * @param oidDokusi097 the oid dokusi 097
	 * @param tipoDocumento the tipo documento
	 * @param datosEnvioPostal the datos envio postal
	 * @param formatoAport097 the formato aport 097
	 * @param tareaOS3Continuar the tarea OS 3 continuar
	 * @param tramiteOS3 the tramite OS 3
	 */
	public DocumentoOS3(Long idDocumento097, Integer origen097,
			Date fechaDoc097, String rutaPif097, String nombreDoc097,
			String oidDokusi097, TipoDocumento tipoDocumento,
			DatosEnvioPostal datosEnvioPostal, String formatoAport097,
			TareaOS3 tareaOS3Continuar, TramiteOS3 tramiteOS3) {

		this.idDocumento097 = idDocumento097;
		this.tareaOS3Continuar = tareaOS3Continuar;
		this.tramiteOS3 = tramiteOS3;
		this.origen097 = origen097;
		this.fechaDoc097 = fechaDoc097;
		this.rutaPif097 = rutaPif097;
		this.nombreDoc097 = nombreDoc097;
		this.oidDokusi097 = oidDokusi097;
		this.tipoDocumento = tipoDocumento;
		this.datosEnvioPostal = datosEnvioPostal;
		this.formatoAport097 = formatoAport097;
	}

	/**
	 * Method 'getIdDocumento097'.
	 * 
	 *  Long
	 *
	 * @return the id documento 097
	 */

	public Long getIdDocumento097() {
		return this.idDocumento097;
	}

	/**
	 * Method 'setIdDocumento097'.
	 * 
	 *  idDocumento097            Long
	 *
	 * @param idDocumento097 the new id documento 097
	 */

	public void setIdDocumento097(Long idDocumento097) {
		this.idDocumento097 = idDocumento097;
	}

	/**
	 * Method 'getTareaOS3Continuar'.
	 * 
	 *  TareaOS3
	 *
	 * @return the tarea OS 3 continuar
	 */
	@JsonIgnore()

	public TareaOS3 getTareaOS3Continuar() {
		return this.tareaOS3Continuar;
	}

	/**
	 * Method 'setTareaOS3Continuar'.
	 * 
	 *  tareaOS3Continuar            TareaOS3
	 *
	 * @param tareaOS3Continuar the new tarea OS 3 continuar
	 */

	public void setTareaOS3Continuar(TareaOS3 tareaOS3Continuar) {
		this.tareaOS3Continuar = tareaOS3Continuar;
	}

	/**
	 * Method 'getTramiteOS3'.
	 * 
	 *  TramiteOS3
	 *
	 * @return the tramite OS 3
	 */
	@JsonIgnore()

	public TramiteOS3 getTramiteOS3() {
		return this.tramiteOS3;
	}

	/**
	 * Method 'setTramiteOS3'.
	 * 
	 *  tramiteOS3            TramiteOS3
	 *
	 * @param tramiteOS3 the new tramite OS 3
	 */

	public void setTramiteOS3(TramiteOS3 tramiteOS3) {
		this.tramiteOS3 = tramiteOS3;
	}

	/**
	 * Method 'getOrigen097'.
	 * 
	 *  Integer
	 *
	 * @return the origen 097
	 */

	public Integer getOrigen097() {
		return this.origen097;
	}

	/**
	 * Method 'setOrigen097'.
	 * 
	 *  origen097            Integer
	 *
	 * @param origen097 the new origen 097
	 */

	public void setOrigen097(Integer origen097) {
		this.origen097 = origen097;
	}

	/**
	 * Method 'getFechaDoc097'.
	 * 
	 *  java.util.Date
	 *
	 * @return the fecha doc 097
	 */

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

	/**
	 * Method 'setFechaDoc097'.
	 * 
	 *  fechaDoc097            java.util.Date
	 *
	 * @param fechaDoc097 the new fecha doc 097
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaDoc097(Date fechaDoc097) {
		this.fechaDoc097 = fechaDoc097;
	}

	/**
	 * Method 'getRutaPif097'.
	 * 
	 *  String
	 *
	 * @return the ruta pif 097
	 */

	public String getRutaPif097() {
		return this.rutaPif097;
	}

	/**
	 * Method 'setRutaPif097'.
	 * 
	 *  rutaPif097            String
	 *
	 * @param rutaPif097 the new ruta pif 097
	 */

	public void setRutaPif097(String rutaPif097) {
		this.rutaPif097 = rutaPif097;
	}

	/**
	 * Method 'getNombreDoc097'.
	 * 
	 *  String
	 *
	 * @return the nombre doc 097
	 */

	public String getNombreDoc097() {
		return this.nombreDoc097;
	}

	/**
	 * Method 'setNombreDoc097'.
	 * 
	 *  nombreDoc097            String
	 *
	 * @param nombreDoc097 the new nombre doc 097
	 */

	public void setNombreDoc097(String nombreDoc097) {
		this.nombreDoc097 = nombreDoc097;
	}

	/**
	 * Method 'getOidDokusi097'.
	 * 
	 *  String
	 *
	 * @return the oid dokusi 097
	 */

	public String getOidDokusi097() {
		return this.oidDokusi097;
	}

	/**
	 * Method 'setOidDokusi097'.
	 * 
	 *  oidDokusi097            String
	 *
	 * @param oidDokusi097 the new oid dokusi 097
	 */

	public void setOidDokusi097(String oidDokusi097) {
		this.oidDokusi097 = oidDokusi097;
	}

	/**
	 * Method 'getTipoDocumento'.
	 * 
	 *  TipoDocumento
	 *
	 * @return the tipo documento
	 */

	public TipoDocumento getTipoDocumento() {
		return this.tipoDocumento;
	}

	/**
	 * Method 'setTipoDocumento'.
	 * 
	 *  tipoDocumento            TipoDocumento
	 *
	 * @param tipoDocumento the new tipo documento
	 */

	public void setTipoDocumento(TipoDocumento tipoDocumento) {
		this.tipoDocumento = tipoDocumento;
	}

	/**
	 * Method 'getDatosEnvioPostal'.
	 * 
	 *  DatosEnvioPostal
	 *
	 * @return the datos envio postal
	 */

	public DatosEnvioPostal getDatosEnvioPostal() {
		return this.datosEnvioPostal;
	}

	/**
	 * Method 'setDatosEnvioPostal'.
	 * 
	 *  datosEnvioPostal            DatosEnvioPostal
	 *
	 * @param datosEnvioPostal the new datos envio postal
	 */

	public void setDatosEnvioPostal(DatosEnvioPostal datosEnvioPostal) {
		this.datosEnvioPostal = datosEnvioPostal;
	}

	/**
	 * Method 'getFormatoAport097'.
	 * 
	 *  String
	 *
	 * @return the formato aport 097
	 */

	public String getFormatoAport097() {
		return this.formatoAport097;
	}

	/**
	 * Method 'setFormatoAport097'.
	 * 
	 *  formatoAport097            String
	 *
	 * @param formatoAport097 the new formato aport 097
	 */

	public void setFormatoAport097(String formatoAport097) {
		this.formatoAport097 = formatoAport097;
	}

	/**
	 * 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 { ");
		result.append(" [ idDocumento097: ").append(this.idDocumento097)
				.append(" ]");
		result.append(", [ origen097: ").append(this.origen097).append(" ]");
		result.append(", [ fechaDoc097: ").append(this.fechaDoc097)
				.append(" ]");
		result.append(", [ rutaPif097: ").append(this.rutaPif097).append(" ]");
		result.append(", [ nombreDoc097: ").append(this.nombreDoc097)
				.append(" ]");
		result.append(", [ oidDokusi097: ").append(this.oidDokusi097)
				.append(" ]");
		result.append(", [ idTipoDoc097: ").append(this.tipoDocumento)
				.append(" ]");
		result.append(", [ idDatosEnvioPostal097: ")
				.append(this.datosEnvioPostal).append(" ]");
		result.append(", [ formatoAport097: ").append(this.formatoAport097)
				.append(" ]");
		result.append("}");
		return result.toString();
	}

	/**
	 * Gets the datos fichero.
	 * 
	 *  the datos fichero
	 *
	 * @return the datos fichero
	 */
	public byte[] getDatosFichero() {
		return datosFichero;
	}

	/**
	 * Sets the datos fichero.
	 * 
	 *  datosFichero the new datos fichero
	 *
	 * @param datosFichero the new datos fichero
	 */
	public void setDatosFichero(byte[] datosFichero) {
		this.datosFichero = datosFichero;
	}

	/**
	 * Gets the dokusi format.
	 * 
	 *  the dokusi format
	 *
	 * @return the dokusi format
	 */
	public String getDokusiFormat() {
		return dokusiFormat;
	}

	/**
	 * Sets the dokusi format.
	 * 
	 *  dokusiFormat the new dokusi format
	 *
	 * @param dokusiFormat the new dokusi format
	 */
	public void setDokusiFormat(String dokusiFormat) {
		this.dokusiFormat = dokusiFormat;
	}

	/**
	 * Gets the idostemp 097.
	 * 
	 *  the idostemp 097
	 *
	 * @return the idostemp 097
	 */
	public Long getIdostemp097() {
		return idostemp097;
	}

	/**
	 * Sets the idostemp 097.
	 * 
	 *  idostemp097 the new idostemp 097
	 *
	 * @param idostemp097 the new idostemp 097
	 */
	public void setIdostemp097(Long idostemp097) {
		this.idostemp097 = idostemp097;
	}

}
