package sicura.entities;
// Generated 2-lug-2017 12.20.06 by Hibernate Tools 5.2.3.Final

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;

import java.util.Date;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Tipologia generated by hbm2java
 */
@Entity
@Table(name = "Tipologia", schema = "dbo")
public class Tipologia implements java.io.Serializable {

	private Integer id;
	private String tipologia;
	private String descrizione;
	private boolean migeneraFlusso;
	private byte[] lastSaved;
	private String overrideTipoSequenzaRid;
	private String overrideRichiestaEsitoSct;
	private Integer numGiorniGenFlusso;
	private boolean soloGiorniLavorativi;
	private Date oraGenerazioneFlusso;
	private Date dataOraUltimaGenerazione;

	public Tipologia() {
	}

	public Tipologia(boolean migeneraFlusso, byte[] lastSaved) {
		this.migeneraFlusso = migeneraFlusso;
		this.lastSaved = lastSaved;
	}

	public Tipologia(String tipologia, String descrizione, boolean migeneraFlusso, byte[] lastSaved,
			String overrideTipoSequenzaRid, String overrideRichiestaEsitoSct, Integer numGiorniGenFlusso,
			 boolean soloGiorniLavorativi,
			 Date oraGenerazioneFlusso,
			 Date dataOraUltimaGenerazione
			) {
		this.tipologia = tipologia;
		this.descrizione = descrizione;
		this.migeneraFlusso = migeneraFlusso;
		this.lastSaved = lastSaved;
		this.overrideTipoSequenzaRid = overrideTipoSequenzaRid;
		this.overrideRichiestaEsitoSct = overrideRichiestaEsitoSct;
		this.numGiorniGenFlusso = numGiorniGenFlusso;
		this.soloGiorniLavorativi = soloGiorniLavorativi;
		this.oraGenerazioneFlusso = oraGenerazioneFlusso;
		this.dataOraUltimaGenerazione = dataOraUltimaGenerazione;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)

	@Column(name = "ID", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@Column(name = "Tipologia", length = 20)
	public String getTipologia() {
		return this.tipologia;
	}

	public void setTipologia(String tipologia) {
		this.tipologia = tipologia;
	}

	@Column(name = "Descrizione", length = 50)
	public String getDescrizione() {
		return this.descrizione;
	}

	public void setDescrizione(String descrizione) {
		this.descrizione = descrizione;
	}

	@Column(name = "MIGeneraFlusso", nullable = false)
	public boolean isMigeneraFlusso() {
		return this.migeneraFlusso;
	}

	public void setMigeneraFlusso(boolean migeneraFlusso) {
		this.migeneraFlusso = migeneraFlusso;
	}

	@Column(name = "LastSaved", nullable = false, updatable=false, insertable=false)
	public byte[] getLastSaved() {
		return this.lastSaved;
	}

	public void setLastSaved(byte[] lastSaved) {
		this.lastSaved = lastSaved;
	}

	@Column(name = "OverrideTipoSequenzaRID", length = 4)
	public String getOverrideTipoSequenzaRid() {
		return this.overrideTipoSequenzaRid;
	}

	public void setOverrideTipoSequenzaRid(String overrideTipoSequenzaRid) {
		this.overrideTipoSequenzaRid = overrideTipoSequenzaRid;
	}

	@Column(name = "OverrideRichiestaEsitoSCT", length = 3)
	public String getOverrideRichiestaEsitoSct() {
		return this.overrideRichiestaEsitoSct;
	}

	public void setOverrideRichiestaEsitoSct(String overrideRichiestaEsitoSct) {
		this.overrideRichiestaEsitoSct = overrideRichiestaEsitoSct;
	}

	@Column(name = "NumGiorniGenFlusso")
	public Integer getNumGiorniGenFlusso() {
		return numGiorniGenFlusso;
	}

	public void setNumGiorniGenFlusso(Integer numGiorniGenFlusso) {
		this.numGiorniGenFlusso = numGiorniGenFlusso;
	}

	@Column(name = "SoloGiorniLavorativi")
	public boolean isSoloGiorniLavorativi() {
		return soloGiorniLavorativi;
	}

	public void setSoloGiorniLavorativi(boolean soloGiorniLavorativi) {
		this.soloGiorniLavorativi = soloGiorniLavorativi;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "OraGenerazioneFlusso")
	public Date getOraGenerazioneFlusso() {
		return oraGenerazioneFlusso;
	}

	public void setOraGenerazioneFlusso(Date oraGenerazioneFlusso) {
		this.oraGenerazioneFlusso = oraGenerazioneFlusso;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "DataOraUltimaGenerazione")
	public Date getDataOraUltimaGenerazione() {
		return dataOraUltimaGenerazione;
	}

	public void setDataOraUltimaGenerazione(Date dataOraUltimaGenerazione) {
		this.dataOraUltimaGenerazione = dataOraUltimaGenerazione;
	}
}
