package com.ejie.ad74a.model;

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * DocumentosInforme generated by UDA, 19-abr-2023 16:38:33.
 * 
 * @author UDA
 */

public class DocumentosInforme implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idDocInforme17;
	private Long idTipoDoc17;
	private String oid17;
	private String oidDokusi17;
	private String urlRuta17;
	private String usuAlta17;
	private String usuModif17;
	private Date fAlta17;
	private Date fModif17;
	private String nombreDoc17;
	private List<Informes> informeses = new ArrayList<Informes>();

	private MaestroTiposDoc maestroTiposDoc;

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

	/**
	 * Method 'DocumentosInforme'.
	 * 
	 * @param idDocInforme17 Long
	 */
	public DocumentosInforme(Long idDocInforme17) {
		this.idDocInforme17 = idDocInforme17;
	}

	/**
	 * Method 'DocumentosInforme'.
	 * 
	 * @param idDocInforme17 Long
	 * @param idTipoDoc17    Long
	 * @param oid17          String
	 * @param oidDokusi17    String
	 * @param urlRuta17      String
	 * @param usuAlta17      String
	 * @param usuModif17     String
	 * @param fAlta17        Date
	 * @param fModif17       Date
	 */
	public DocumentosInforme(Long idDocInforme17, Long idTipoDoc17, String oid17, String oidDokusi17, String urlRuta17,
			String usuAlta17, String usuModif17, Date fAlta17, Date fModif17, String nombreDoc17) {
		this.idDocInforme17 = idDocInforme17;
		this.idTipoDoc17 = idTipoDoc17;
		this.oid17 = oid17;
		this.oidDokusi17 = oidDokusi17;
		this.urlRuta17 = urlRuta17;
		this.usuAlta17 = usuAlta17;
		this.usuModif17 = usuModif17;
		this.fAlta17 = fAlta17;
		this.fModif17 = fModif17;
		this.nombreDoc17 = nombreDoc17;
	}

	/**
	 * Method 'DocumentosInforme'.
	 * 
	 * @param idDocInforme17 Long
	 * @param idTipoDoc17    Long
	 * @param oid17          String
	 * @param oidDokusi17    String
	 * @param urlRuta17      String
	 * @param usuAlta17      String
	 * @param usuModif17     String
	 * @param fAlta17        Date
	 * @param fModif17       Date
	 * @param nombreoc17     String
	 * @param informeses     List<Informes>
	 */
	public DocumentosInforme(Long idDocInforme17, Long idTipoDoc17, String oid17, String oidDokusi17, String urlRuta17,
			String usuAlta17, String usuModif17, Date fAlta17, Date fModif17, String nombreDoc17,
			List<Informes> informeses) {

		this.idDocInforme17 = idDocInforme17;
		this.idTipoDoc17 = idTipoDoc17;
		this.oid17 = oid17;
		this.oidDokusi17 = oidDokusi17;
		this.urlRuta17 = urlRuta17;
		this.usuAlta17 = usuAlta17;
		this.usuModif17 = usuModif17;
		this.fAlta17 = fAlta17;
		this.fModif17 = fModif17;
		this.nombreDoc17 = nombreDoc17;
		this.informeses = informeses;
	}

	/**
	 * Method 'getIdDocInforme17'.
	 *
	 * @return Long
	 */

	public Long getIdDocInforme17() {
		return this.idDocInforme17;
	}

	/**
	 * Method 'setIdDocInforme17'.
	 *
	 * @param idDocInforme17 Long
	 * @return
	 */

	public void setIdDocInforme17(Long idDocInforme17) {
		this.idDocInforme17 = idDocInforme17;
	}

	/**
	 * Method 'getIdTipoDoc17'.
	 *
	 * @return Long
	 */

	public Long getIdTipoDoc17() {
		return this.idTipoDoc17;
	}

	/**
	 * Method 'setIdTipoDoc17'.
	 *
	 * @param idTipoDoc17 Long
	 * @return
	 */

	public void setIdTipoDoc17(Long idTipoDoc17) {
		this.idTipoDoc17 = idTipoDoc17;
	}

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

	public String getOid17() {
		return this.oid17;
	}

	/**
	 * Method 'setOid17'.
	 *
	 * @param oid17 String
	 * @return
	 */

	public void setOid17(String oid17) {
		this.oid17 = oid17;
	}

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

	public String getUrlRuta17() {
		return this.urlRuta17;
	}

	/**
	 * Method 'setUrlRuta17'.
	 *
	 * @param urlRuta17 String
	 * @return
	 */

	public void setUrlRuta17(String urlRuta17) {
		this.urlRuta17 = urlRuta17;
	}

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

	public String getUsuAlta17() {
		return this.usuAlta17;
	}

	/**
	 * Method 'setUsuAlta17'.
	 *
	 * @param usuAlta17 String
	 * @return
	 */

	public void setUsuAlta17(String usuAlta17) {
		this.usuAlta17 = usuAlta17;
	}

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

	public String getUsuModif17() {
		return this.usuModif17;
	}

	/**
	 * Method 'setUsuModif17'.
	 *
	 * @param usuModif17 String
	 * @return
	 */

	public void setUsuModif17(String usuModif17) {
		this.usuModif17 = usuModif17;
	}

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

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

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

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

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

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

	/**
	 * Method 'getInformeses'.
	 *
	 * @return List
	 */
	@JsonIgnore
	public List<Informes> getInformeses() {
		return this.informeses;
	}

	/**
	 * Method 'setInformeses'.
	 *
	 * @param informeses List
	 * @return
	 */
	public void setInformeses(List<Informes> informeses) {
		this.informeses = informeses;
	}

	/**
	 * Method 'getMaestroTiposDoc'.
	 *
	 * @return MaestroTiposDoc
	 */
	public MaestroTiposDoc getMaestroTiposDoc() {
		return maestroTiposDoc;
	}

	/**
	 * Method 'setMaestroTiposDoc'.
	 *
	 * @param maestroTiposDoc MaestroTiposDoc
	 * @return
	 */
	public void setMaestroTiposDoc(MaestroTiposDoc maestroTiposDoc) {
		this.maestroTiposDoc = maestroTiposDoc;
	}

	public String getNombreDoc17() {
		return nombreDoc17;
	}

	public void setNombreDoc17(String nombreDoc17) {
		this.nombreDoc17 = nombreDoc17;
	}

	/**
	 * 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(" [ idDocInforme17: ").append(this.idDocInforme17).append(" ]");
		result.append(", [ idTipoDoc17: ").append(this.idTipoDoc17).append(" ]");
		result.append(", [ oid17: ").append(this.oid17).append(" ]");
		result.append(", [ oidDokusi17: ").append(this.oidDokusi17).append(" ]");
		result.append(", [ urlRuta17: ").append(this.urlRuta17).append(" ]");
		result.append(", [ usuAlta17: ").append(this.usuAlta17).append(" ]");
		result.append(", [ usuModif17: ").append(this.usuModif17).append(" ]");
		result.append(", [ fAlta17: ").append(this.fAlta17).append(" ]");
		result.append(", [ fModif17: ").append(this.fModif17).append(" ]");
		result.append(", [ nombreDoc17: ").append(this.nombreDoc17).append(" ]");
		result.append(", [ maestroTiposDoc: ").append(this.maestroTiposDoc).append(" ]");
		result.append("}");
		return result.toString();
	}

	public String getOidDokusi17() {
		return oidDokusi17;
	}

	public void setOidDokusi17(String oidDokusi17) {
		this.oidDokusi17 = oidDokusi17;
	}

}
