package com.ejie.ab79.model;

import java.util.Date;

import com.ejie.ab79.model.inspecciones.Inspecciones;
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;

/**
 * DocumentosDescargar  
 * 
 *  
 */

public class DocumentosDescargar implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Integer idDocumentoDescargar;
	private Inspecciones inspeccion;
	private String oid;
	private Integer origenOid;
	private String descripcionTipoCastellano;
	private String descripcionTipoEuskera;
	private String nombreDocumento;
	private String tituloDocumento;
	private Date fechaAportado;
	private Integer origenDocumentacion;
	private String descripcionDocumentacion;
	private String folderNumber;
	private Date fechaRegistro;
	private String usuarioRegistro;
	private Integer idActuacion;
	private Long idTipoPlantilla;
	private DocumentosTablet documentosTablet;

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

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

	/**
	 * Method 'DocumentosDescargar'.
	 * 
	 * @param idDocumentoDescargar
	 *            Integer
	 * @param inspeccion
	 *            Inspecciones
	 * @param oid
	 *            String
	 * @param origenOid
	 *            Integer
	 * @param descripcionTipoCastellano
	 *            String
	 * @param descripcionTipoEuskera
	 *            String
	 * @param nombreDocumento
	 *            String
	 * @param tituloDocumento
	 *            String
	 * @param fechaAportado
	 *            Date
	 * @param origenDocumentacion
	 *            Integer
	 * @param folderNumber
	 *            String
	 * @param fechaRegistro
	 *            Date
	 * @param usuarioRegistro
	 *            String
	 */
	public DocumentosDescargar(Integer idDocumentoDescargar, Inspecciones inspeccion, String oid, Integer origenOid,
			String descripcionTipoCastellano, String descripcionTipoEuskera, String nombreDocumento,
			String tituloDocumento, Date fechaAportado, Integer origenDocumentacion, String folderNumber,
			Date fechaRegistro, String usuarioRegistro) {

		this.idDocumentoDescargar = idDocumentoDescargar;
		this.inspeccion = inspeccion;
		this.oid = oid;
		this.origenOid = origenOid;
		this.descripcionTipoCastellano = descripcionTipoCastellano;
		this.descripcionTipoEuskera = descripcionTipoEuskera;
		this.nombreDocumento = nombreDocumento;
		this.tituloDocumento = tituloDocumento;
		this.fechaAportado = fechaAportado;
		this.origenDocumentacion = origenDocumentacion;
		this.folderNumber = folderNumber;
		this.fechaRegistro = fechaRegistro;
		this.usuarioRegistro = usuarioRegistro;
	}

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

	public Integer getIdDocumentoDescargar() {
		return this.idDocumentoDescargar;
	}

	/**
	 * Method 'setIdDocumentoDescargar'.
	 *
	 * @param idDocumentoDescargar
	 *            Integer
	 * @return
	 */

	public void setIdDocumentoDescargar(Integer idDocumentoDescargar) {
		this.idDocumentoDescargar = idDocumentoDescargar;
	}

	/**
	 * Method 'getInspeccion'.
	 *
	 * @return Inspecciones
	 */

	public Inspecciones getInspeccion() {
		return this.inspeccion;
	}

	/**
	 * Method 'setInspeccion'.
	 *
	 * @param Inspeccion
	 *            Inspecciones
	 * @return
	 */

	public void setInspeccion(Inspecciones inspeccion) {
		this.inspeccion = inspeccion;
	}

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

	public String getOid() {
		return this.oid;
	}

	/**
	 * Method 'setOid'.
	 *
	 * @param oid
	 *            String
	 * @return
	 */

	public void setOid(String oid) {
		this.oid = oid;
	}

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

	public Integer getOrigenOid() {
		return this.origenOid;
	}

	/**
	 * Method 'setOrigenOid'.
	 *
	 * @param origenOid
	 *            Integer
	 * @return
	 */

	public void setOrigenOid(Integer origenOid) {
		this.origenOid = origenOid;
	}

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

	public String getDescripcionTipoCastellano() {
		return this.descripcionTipoCastellano;
	}

	/**
	 * Method 'setDescripcionTipoCastellano'.
	 *
	 * @param descripcionTipoCastellano
	 *            String
	 * @return
	 */

	public void setDescripcionTipoCastellano(String descripcionTipoCastellano) {
		this.descripcionTipoCastellano = descripcionTipoCastellano;
	}

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

	public String getDescripcionTipoEuskera() {
		return this.descripcionTipoEuskera;
	}

	/**
	 * Method 'setDescripcionTipoEuskera'.
	 *
	 * @param descripcionTipoEuskera
	 *            String
	 * @return
	 */

	public void setDescripcionTipoEuskera(String descripcionTipoEuskera) {
		this.descripcionTipoEuskera = descripcionTipoEuskera;
	}

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

	public String getNombreDocumento() {
		return this.nombreDocumento;
	}

	/**
	 * Method 'setNombreDocumento'.
	 *
	 * @param nombreDocumento
	 *            String
	 * @return
	 */

	public void setNombreDocumento(String nombreDocumento) {
		this.nombreDocumento = nombreDocumento;
	}

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

	public String getTituloDocumento() {
		return this.tituloDocumento;
	}

	/**
	 * Method 'setTituloDocumento'.
	 *
	 * @param tituloDocumento
	 *            String
	 * @return
	 */

	public void setTituloDocumento(String tituloDocumento) {
		this.tituloDocumento = tituloDocumento;
	}

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

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

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

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

	public Integer getOrigenDocumentacion() {
		return this.origenDocumentacion;
	}

	/**
	 * Method 'setOrigenDocumentacion'.
	 *
	 * @param origenDocumentacion
	 *            Integer
	 * @return
	 */

	public void setOrigenDocumentacion(Integer origenDocumentacion) {
		this.origenDocumentacion = origenDocumentacion;
	}

	public String getDescripcionDocumentacion() {
		return descripcionDocumentacion;
	}

	public void setDescripcionDocumentacion(String descripcionDocumentacion) {
		this.descripcionDocumentacion = descripcionDocumentacion;
	}

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

	public String getFolderNumber() {
		return this.folderNumber;
	}

	/**
	 * Method 'setFolderNumber'.
	 *
	 * @param folderNumber
	 *            String
	 * @return
	 */

	public void setFolderNumber(String folderNumber) {
		this.folderNumber = folderNumber;
	}

	/**
	 * 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;
	}

	public Integer getIdActuacion() {
		return idActuacion;
	}

	public void setIdActuacion(Integer idActuacion) {
		this.idActuacion = idActuacion;
	}

	public Long getIdTipoPlantilla() {
		return idTipoPlantilla;
	}

	public void setIdTipoPlantilla(Long idTipoPlantilla) {
		this.idTipoPlantilla = idTipoPlantilla;
	}

	public DocumentosTablet getDocumentosTablet() {
		return documentosTablet;
	}

	public void setDocumentosTablet(DocumentosTablet documentosTablet) {
		this.documentosTablet = documentosTablet;
	}

	/**
	 * 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(" [ idDocumentoDescargar: ").append(this.idDocumentoDescargar).append(" ]");
		result.append(", [ inspeccion: ").append(this.inspeccion != null ? this.inspeccion.getIdInspeccion() : null)
				.append(" ]");
		result.append(", [ oid: ").append(this.oid).append(" ]");
		result.append(", [ origenOid: ").append(this.origenOid).append(" ]");
		result.append(", [ descripcionTipoCastellano: ").append(this.descripcionTipoCastellano).append(" ]");
		result.append(", [ descripcionTipoEuskera: ").append(this.descripcionTipoEuskera).append(" ]");
		result.append(", [ nombreDocumento: ").append(this.nombreDocumento).append(" ]");
		result.append(", [ tituloDocumento: ").append(this.tituloDocumento).append(" ]");
		result.append(", [ fechaAportado: ").append(this.fechaAportado).append(" ]");
		result.append(", [ origenDocumentacion: ").append(this.origenDocumentacion).append(" ]");
		result.append(", [ folderNumber: ").append(this.folderNumber).append(" ]");
		result.append(", [ fechaRegistro: ").append(this.fechaRegistro).append(" ]");
		result.append(", [ usuarioRegistro: ").append(this.usuarioRegistro).append(" ]");
		result.append("}");
		return result.toString();
	}

}
