package com.ejie.ab79.model.propuestaSancion;

import java.util.Date;

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;

/**
 * ArtInfProSan  
 * 
 *  
 */

public class RelArtInfProSan implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Integer idRelArtInfProSan;
	private Infracciones infraccion;
	private PropuestasSancion propuestaSancion;
	private Date fechaHecho;
	private String descripcionHecho;
	private String notasArticulo;
	private Date fechaRegistro;
	private String usuarioRegistro;

	private String articulosDerechosInf;
	private String descripcionDerechosInfCas;
	private String descripcionDerechosInfEus;

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

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

	/**
	 * Method 'RelArtInfProSan'.
	 * 
	 * @param idRelArtInfProSan
	 *            Integer
	 * @param infraccion
	 *            Infracciones
	 * @param propuestaSancion
	 *            PropuestasSancion
	 * @param notasArticulo
	 *            String
	 * @param fechaRegistro
	 *            Date
	 * @param usuarioRegistro
	 *            String
	 */
	public RelArtInfProSan(Integer idRelArtInfProSan, Infracciones infraccion, PropuestasSancion propuestaSancion,
			String notasArticulo, Date fechaRegistro, String usuarioRegistro) {

		this.idRelArtInfProSan = idRelArtInfProSan;
		this.infraccion = infraccion;
		this.propuestaSancion = propuestaSancion;
		this.notasArticulo = notasArticulo;
		this.fechaRegistro = fechaRegistro;
		this.usuarioRegistro = usuarioRegistro;
	}

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

	public Integer getIdRelArtInfProSan() {
		return this.idRelArtInfProSan;
	}

	/**
	 * Method 'setIdRelArtInfProSan'.
	 *
	 * @param idRelArtInfProSan
	 *            Integer
	 * @return
	 */

	public void setIdRelArtInfProSan(Integer idRelArtInfProSan) {
		this.idRelArtInfProSan = idRelArtInfProSan;
	}

	/**
	 * Method 'getInfraccion'.
	 *
	 * @return Infracciones
	 */

	public Infracciones getInfraccion() {
		return this.infraccion;
	}

	/**
	 * Method 'setInfraccion'.
	 *
	 * @param infraccion
	 *            Infracciones
	 * @return
	 */

	public void setInfraccion(Infracciones infraccion) {
		this.infraccion = infraccion;
	}

	/**
	 * Method 'getPropuestaSancion'.
	 *
	 * @return PropuestasSancion
	 */

	public PropuestasSancion getPropuestaSancion() {
		return this.propuestaSancion;
	}

	/**
	 * Method 'setPropuestaSancion'.
	 *
	 * @param propuestaSancion
	 *            PropuestasSancion
	 * @return
	 */

	public void setPropuestaSancion(PropuestasSancion propuestaSancion) {
		this.propuestaSancion = propuestaSancion;
	}

	/**
	 * @return the fechaHecho
	 */
	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaHecho() {
		return this.fechaHecho;
	}

	/**
	 * @param fechaHecho
	 *            the fechaHecho to set
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaHecho(Date fechaHecho) {
		this.fechaHecho = fechaHecho;
	}

	/**
	 * @return the descripcionHecho
	 */
	public String getDescripcionHecho() {
		return this.descripcionHecho;
	}

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

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

	public String getNotasArticulo() {
		return this.notasArticulo;
	}

	/**
	 * Method 'setNotasArticulo'.
	 *
	 * @param notasArticulo
	 *            String
	 * @return
	 */

	public void setNotasArticulo(String notasArticulo) {
		this.notasArticulo = notasArticulo;
	}

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

	/**
	 * 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(" [ idRelArtInfProSan: ").append(this.idRelArtInfProSan).append(" ]");
		result.append(", [ idPropuestaSancion: ").append(this.propuestaSancion).append(" ]");
		result.append(", [ notasArticulo: ").append(this.notasArticulo).append(" ]");
		result.append(", [ fechaRegistro: ").append(this.fechaRegistro).append(" ]");
		result.append(", [ usuarioRegistro: ").append(this.usuarioRegistro).append(" ]");
		result.append("}");
		return result.toString();
	}

	/**
	 * @return the articulosDerechosInf
	 */
	public String getArticulosDerechosInf() {
		return this.articulosDerechosInf;
	}

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

	/**
	 * @return the descripcionDerechosInfCas
	 */
	public String getDescripcionDerechosInfCas() {
		return this.descripcionDerechosInfCas;
	}

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

	/**
	 * @return the descripcionDerechosInfEus
	 */
	public String getDescripcionDerechosInfEus() {
		return this.descripcionDerechosInfEus;
	}

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

}
