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;

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

public class DocumentoOS2 implements java.io.Serializable {

	private static final long serialVersionUID = 1L;

	private Long idDocumento094;
	private TramiteOS2 tramiteOS2;
	private Integer origen094;
	private Date fechaDoc094;
	private String rutaPif094;
	private String nombreDoc094;
	private String oidDokusi094;
	private TipoDocumento tipoDocumento;
	private String formatoAport094;
	private TareaOS2 tareaOS2Continuar;
	private DatosEnvioPostal datosEnvioPostal;

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

	// formato para descargar de dokusi
	private String dokusiFormat;

	// para los documentos temporales
	private Long idostemp094;

	/**
	 * Method 'Ab0494s00'.
	 */
	public DocumentoOS2() {
	}

	/**
	 * Method 'Ab0494s00'.
	 * 
	 *  idDocumento094
	 *            Long
	 *
	 * @param idDocumento094 the id documento 094
	 */
	public DocumentoOS2(Long idDocumento094) {
		this.idDocumento094 = idDocumento094;
	}

	/**
	 * Method 'Ab0494s00'.
	 * 
	 *  idDocumento094
	 *            Long
	 *  origen094
	 *            Integer
	 *  fechaDoc094
	 *            Date
	 *  rutaPif094
	 *            String
	 *  nombreDoc094
	 *            String
	 *  oidDokusi094
	 *            String
	 *  tipoDocumento
	 *            TipoDocumento
	 *  datosEnvioPostal
	 *            DatosEnvioPostal
	 *  formatoAport094
	 *            String
	 *  tareaOS2Continuar
	 *            TareaOS2
	 *  tramiteOS2
	 *            TramiteOS2
	 *
	 * @param idDocumento094 the id documento 094
	 * @param origen094 the origen 094
	 * @param fechaDoc094 the fecha doc 094
	 * @param rutaPif094 the ruta pif 094
	 * @param nombreDoc094 the nombre doc 094
	 * @param oidDokusi094 the oid dokusi 094
	 * @param tipoDocumento the tipo documento
	 * @param datosEnvioPostal the datos envio postal
	 * @param formatoAport094 the formato aport 094
	 * @param tareaOS2Continuar the tarea OS 2 continuar
	 * @param tramiteOS2 the tramite OS 2
	 */
	public DocumentoOS2(Long idDocumento094, Integer origen094,
			Date fechaDoc094, String rutaPif094, String nombreDoc094,
			String oidDokusi094, TipoDocumento tipoDocumento,
			DatosEnvioPostal datosEnvioPostal, String formatoAport094,
			TareaOS2 tareaOS2Continuar, TramiteOS2 tramiteOS2) {

		this.idDocumento094 = idDocumento094;
		this.tareaOS2Continuar = tareaOS2Continuar;
		this.tramiteOS2 = tramiteOS2;
		this.origen094 = origen094;
		this.fechaDoc094 = fechaDoc094;
		this.rutaPif094 = rutaPif094;
		this.nombreDoc094 = nombreDoc094;
		this.oidDokusi094 = oidDokusi094;
		this.tipoDocumento = tipoDocumento;
		this.datosEnvioPostal = datosEnvioPostal;
		this.formatoAport094 = formatoAport094;
	}

	/**
	 * Method 'getIdDocumento094'.
	 * 
	 *  Long
	 *
	 * @return the id documento 094
	 */

	public Long getIdDocumento094() {
		return this.idDocumento094;
	}

	/**
	 * Method 'setIdDocumento094'.
	 * 
	 *  idDocumento094            Long
	 *
	 * @param idDocumento094 the new id documento 094
	 */

	public void setIdDocumento094(Long idDocumento094) {
		this.idDocumento094 = idDocumento094;
	}

	/**
	 * Method 'getTareaOS2Continuar'.
	 * 
	 *  TareaOS2
	 *
	 * @return the tarea OS 2 continuar
	 */
	@JsonIgnore()

	public TareaOS2 getTareaOS2Continuar() {
		return this.tareaOS2Continuar;
	}

	/**
	 * Method 'setTareaOS2Continuar'.
	 * 
	 *  tareaOS2Continuar            TareaOS2
	 *
	 * @param tareaOS2Continuar the new tarea OS 2 continuar
	 */

	public void setTareaOS2Continuar(TareaOS2 tareaOS2Continuar) {
		this.tareaOS2Continuar = tareaOS2Continuar;
	}

	/**
	 * Method 'getTramiteOS2'.
	 * 
	 *  TramiteOS2
	 *
	 * @return the tramite OS 2
	 */
	@JsonIgnore()

	public TramiteOS2 getTramiteOS2() {
		return this.tramiteOS2;
	}

	/**
	 * Method 'setTramiteOS2'.
	 * 
	 *  tramiteOS2            TramiteOS2
	 *
	 * @param tramiteOS2 the new tramite OS 2
	 */

	public void setTramiteOS2(TramiteOS2 tramiteOS2) {
		this.tramiteOS2 = tramiteOS2;
	}

	/**
	 * Method 'getOrigen094'.
	 * 
	 *  Integer
	 *
	 * @return the origen 094
	 */

	public Integer getOrigen094() {
		return this.origen094;
	}

	/**
	 * Method 'setOrigen094'.
	 * 
	 *  origen094            Integer
	 *
	 * @param origen094 the new origen 094
	 */

	public void setOrigen094(Integer origen094) {
		this.origen094 = origen094;
	}

	/**
	 * Method 'getFechaDoc094'.
	 * 
	 *  java.util.Date
	 *
	 * @return the fecha doc 094
	 */

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

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

	/**
	 * Method 'getRutaPif094'.
	 * 
	 *  String
	 *
	 * @return the ruta pif 094
	 */

	public String getRutaPif094() {
		return this.rutaPif094;
	}

	/**
	 * Method 'setRutaPif094'.
	 * 
	 *  rutaPif094            String
	 *
	 * @param rutaPif094 the new ruta pif 094
	 */

	public void setRutaPif094(String rutaPif094) {
		this.rutaPif094 = rutaPif094;
	}

	/**
	 * Method 'getNombreDoc094'.
	 * 
	 *  String
	 *
	 * @return the nombre doc 094
	 */

	public String getNombreDoc094() {
		return this.nombreDoc094;
	}

	/**
	 * Method 'setNombreDoc094'.
	 * 
	 *  nombreDoc094            String
	 *
	 * @param nombreDoc094 the new nombre doc 094
	 */

	public void setNombreDoc094(String nombreDoc094) {
		this.nombreDoc094 = nombreDoc094;
	}

	/**
	 * Method 'getOidDokusi094'.
	 * 
	 *  String
	 *
	 * @return the oid dokusi 094
	 */

	public String getOidDokusi094() {
		return this.oidDokusi094;
	}

	/**
	 * Method 'setOidDokusi094'.
	 * 
	 *  oidDokusi094            String
	 *
	 * @param oidDokusi094 the new oid dokusi 094
	 */

	public void setOidDokusi094(String oidDokusi094) {
		this.oidDokusi094 = oidDokusi094;
	}

	/**
	 * 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 'getFormatoAport094'.
	 * 
	 *  String
	 *
	 * @return the formato aport 094
	 */

	public String getFormatoAport094() {
		return this.formatoAport094;
	}

	/**
	 * Method 'setFormatoAport094'.
	 * 
	 *  formatoAport094            String
	 *
	 * @param formatoAport094 the new formato aport 094
	 */

	public void setFormatoAport094(String formatoAport094) {
		this.formatoAport094 = formatoAport094;
	}

	/**
	 * 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 094.
	 * 
	 *  the idostemp 094
	 *
	 * @return the idostemp 094
	 */
	public Long getIdostemp094() {
		return idostemp094;
	}

	/**
	 * Sets the idostemp 094.
	 * 
	 *  idostemp094 the new idostemp 094
	 *
	 * @param idostemp094 the new idostemp 094
	 */
	public void setIdostemp094(Long idostemp094) {
		this.idostemp094 = idostemp094;
	}

	/**
	 * 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(" [ idDocumento094: ").append(this.idDocumento094)
				.append(" ]");
		result.append(", [ origen094: ").append(this.origen094).append(" ]");
		result.append(", [ fechaDoc094: ").append(this.fechaDoc094)
				.append(" ]");
		result.append(", [ rutaPif094: ").append(this.rutaPif094).append(" ]");
		result.append(", [ nombreDoc094: ").append(this.nombreDoc094)
				.append(" ]");
		result.append(", [ oidDokusi094: ").append(this.oidDokusi094)
				.append(" ]");
		result.append(", [ idTipoDoc094: ").append(this.tipoDocumento)
				.append(" ]");
		result.append(", [ idDatosEnvioPostal094: ")
				.append(this.datosEnvioPostal).append(" ]");
		result.append(", [ formatoAport094: ").append(this.formatoAport094)
				.append(" ]");
		result.append("}");
		return result.toString();
	}

}
