package com.ejie.ab61.model.plantillas;

import java.sql.Blob;
import java.util.Arrays;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonIgnore;

/**
 * Documentos  
 * 
 *  
 */

public class Documentos implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Integer idDocumento;
	private String nombreDocumento;
	private String nombreArchivo;
	private Blob archivo;
	private String observaciones;
	private byte[] ficheroArray;
	private Date fechaRegistro;
	private String usuarioRegistro;
	private Date fechaUltmodificacion;
	private String usuarioUltmodificacion;

	private String listaIdCampo;
	private Integer relplacam;
	private Integer plantilla;
	private String idioma;

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

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

	/**
	 * Method 'Documentos'.
	 * 
	 * @param idDocumento
	 *            Integer
	 * @param nombreDocumento
	 *            String
	 * @param nombreArchivo
	 *            String
	 * @param archivo
	 *            Blob
	 * @param observaciones
	 *            String
	 */
	public Documentos(Integer idDocumento, String nombreDocumento, String nombreArchivo, Blob archivo,
			String observaciones, String idioma, Date fechaRegistro, String usuarioRegistro, Date fechaUltmodificacion,
			String usuarioUltmodificacion) {

		this.idDocumento = idDocumento;
		this.nombreDocumento = nombreDocumento;
		this.nombreArchivo = nombreArchivo;
		this.archivo = archivo;
		this.observaciones = observaciones;
		this.idioma = idioma;
		this.fechaRegistro = fechaRegistro;
		this.usuarioRegistro = usuarioRegistro;
		this.fechaUltmodificacion = fechaUltmodificacion;
		this.usuarioUltmodificacion = usuarioUltmodificacion;
	}

	public Documentos(Integer idDocumento, String nombreDocumento, String nombreArchivo, Blob archivo,
			String observaciones, String idioma, Date fechaRegistro, String usuarioRegistro, Date fechaUltmodificacion,
			String usuarioUltmodificacion, Integer relplacam, Integer plantilla) {

		this.idDocumento = idDocumento;
		this.nombreDocumento = nombreDocumento;
		this.nombreArchivo = nombreArchivo;
		this.archivo = archivo;
		this.observaciones = observaciones;
		this.idioma = idioma;
		this.fechaRegistro = fechaRegistro;
		this.usuarioRegistro = usuarioRegistro;
		this.fechaUltmodificacion = fechaUltmodificacion;
		this.usuarioUltmodificacion = usuarioUltmodificacion;
		this.relplacam = relplacam;
		this.plantilla = plantilla;
	}

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

	public Integer getIdDocumento() {
		return this.idDocumento;
	}

	/**
	 * Method 'setIdDocumento'.
	 *
	 * @param idDocumento
	 *            Integer
	 * @return
	 */

	public void setIdDocumento(Integer idDocumento) {
		this.idDocumento = idDocumento;
	}

	/**
	 * 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 'getNombreArchivo'.
	 *
	 * @return String
	 */

	public String getNombreArchivo() {
		return this.nombreArchivo;
	}

	/**
	 * Method 'setNombreArchivo'.
	 *
	 * @param nombreArchivo
	 *            String
	 * @return
	 */

	public void setNombreArchivo(String nombreArchivo) {
		this.nombreArchivo = nombreArchivo;
	}

	/**
	 * Method 'getArchivo'.
	 *
	 * @return Blob
	 */
	@JsonIgnore

	public Blob getArchivo() {
		return this.archivo;
	}

	/**
	 * Method 'setArchivo'.
	 *
	 * @param archivo
	 *            Blob
	 * @return
	 */

	public void setArchivo(Blob archivo) {
		this.archivo = archivo;
	}

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

	public String getObservaciones() {
		return this.observaciones;
	}

	/**
	 * Method 'setObservaciones'.
	 *
	 * @param observaciones
	 *            String
	 * @return
	 */

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	/**
	 * @return the ficheroArray
	 */
	public byte[] getFicheroArray() {
		return ficheroArray;
	}

	/**
	 * @param ficheroArray
	 *            the ficheroArray to set
	 */
	public void setFicheroArray(byte[] ficheroArray) {
		this.ficheroArray = ficheroArray;
	}

	/**
	 * @return the fechaRegistro
	 */
	public Date getFechaRegistro() {
		return fechaRegistro;
	}

	/**
	 * @return the listaIdCampo
	 */
	public String getListaIdCampo() {
		return listaIdCampo;
	}

	/**
	 * @param listaIdCampo
	 *            the listaIdCampo to set
	 */
	public void setListaIdCampo(String listaIdCampo) {
		this.listaIdCampo = listaIdCampo;
	}

	/**
	 * @param fechaRegistro
	 *            the fechaRegistro to set
	 */
	public void setFechaRegistro(Date fechaRegistro) {
		this.fechaRegistro = fechaRegistro;
	}

	/**
	 * @return the usuarioRegistro
	 */
	public String getUsuarioRegistro() {
		return usuarioRegistro;
	}

	/**
	 * @param usuarioRegistro
	 *            the usuarioRegistro to set
	 */
	public void setUsuarioRegistro(String usuarioRegistro) {
		this.usuarioRegistro = usuarioRegistro;
	}

	/**
	 * @return the fechaUltmodificacion
	 */
	public Date getFechaUltmodificacion() {
		return fechaUltmodificacion;
	}

	/**
	 * @param fechaUltmodificacion
	 *            the fechaUltmodificacion to set
	 */
	public void setFechaUltmodificacion(Date fechaUltmodificacion) {
		this.fechaUltmodificacion = fechaUltmodificacion;
	}

	/**
	 * @return the usuarioUltmodificacion
	 */
	public String getUsuarioUltmodificacion() {
		return usuarioUltmodificacion;
	}

	/**
	 * @param usuarioUltmodificacion
	 *            the usuarioUltmodificacion to set
	 */
	public void setUsuarioUltmodificacion(String usuarioUltmodificacion) {
		this.usuarioUltmodificacion = usuarioUltmodificacion;
	}

	/**
	 * @return the relplacam
	 */
	public Integer getRelplacam() {
		return relplacam;
	}

	/**
	 * @param relplacam
	 *            the relplacam to set
	 */
	public void setRelplacam(Integer relplacam) {
		this.relplacam = relplacam;
	}

	/**
	 * @return the plantilla
	 */
	public Integer getPlantilla() {
		return plantilla;
	}

	/**
	 * @param plantilla
	 *            the plantilla to set
	 */
	public void setPlantilla(Integer plantilla) {
		this.plantilla = plantilla;
	}

	/**
	 * @return the idioma
	 */
	public String getIdioma() {
		return idioma;
	}

	/**
	 * @param idioma
	 *            the idioma to set
	 */
	public void setIdioma(String idioma) {
		this.idioma = idioma;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "Documentos [idDocumento=" + idDocumento + ", nombreDocumento=" + nombreDocumento + ", nombreArchivo="
				+ nombreArchivo + ", archivo=" + archivo + ", observaciones=" + observaciones + ", ficheroArray="
				+ Arrays.toString(ficheroArray) + ", fechaRegistro=" + fechaRegistro + ", usuarioRegistro="
				+ usuarioRegistro + ", fechaUltmodificacion=" + fechaUltmodificacion + ", usuarioUltmodificacion="
				+ usuarioUltmodificacion + ", listaIdCampo=" + listaIdCampo + ", idioma=" + idioma + "]";
	}
}
