package es.uv.saic.domain;

import java.io.Serializable;
import jakarta.persistence.*;
import java.util.List;


@Entity
@Table(name="processos")
@NamedQuery(name="Proces.findAll", query="SELECT p FROM Proces p")
public class Proces implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="id_proces")
	private Integer idProces;

	private String ambit;

	@Column(name="curs_activacio")
	private Integer cursActivacio;

	@Column(name="curs_avaluat")
	private Integer cursAvaluat;

	@Column(name="descripcio_cas")
	private String descripcioCas;

	@Column(name="descripcio_val")
	private String descripcioVal;

	@Column(name="nom_proces")
	private String nomProces;

	@Column(name="titol_cas")
	private String titolCas;

	@Column(name="titol_val")
	private String titolVal;
	
	private String comentaris;

	private String versio;

	@Column(name="sub_titol")
	private String subTitol;

	//bi-directional many-to-one association to Instancia
	@OneToMany(mappedBy="proces")
	private List<Instancia> instancies;

	//bi-directional many-to-one association to Tasca
	@OneToMany(mappedBy="proces")
	private List<Tasca> tasques;	

	public Proces() {}

	public Integer getIdProces() {
		return this.idProces;
	}

	public void setIdProces(Integer idProces) {
		this.idProces = idProces;
	}

	public String getAmbit() {
		return this.ambit;
	}

	public void setAmbit(String ambit) {
		this.ambit = ambit;
	}

	public Integer getCursActivacio() {
		return this.cursActivacio;
	}

	public void setCursActivacio(Integer cursActivacio) {
		this.cursActivacio = cursActivacio;
	}

	public Integer getCursAvaluat() {
		return this.cursAvaluat;
	}

	public void setCursAvaluat(Integer cursAvaluat) {
		this.cursAvaluat = cursAvaluat;
	}

	public String getDescripcioCas() {
		return this.descripcioCas;
	}

	public void setDescripcioCas(String descripcioCas) {
		this.descripcioCas = descripcioCas;
	}

	public String getDescripcioVal() {
		return this.descripcioVal;
	}

	public void setDescripcioVal(String descripcioVal) {
		this.descripcioVal = descripcioVal;
	}

	public String getNomProces() {
		return this.nomProces;
	}

	public void setNomProces(String nomProces) {
		this.nomProces = nomProces;
	}

	public String getTitolCas() {
		return this.titolCas;
	}

	public void setTitolCas(String titolCas) {
		this.titolCas = titolCas;
	}

	public String getTitolVal() {
		return this.titolVal;
	}

	public void setTitolVal(String titolVal) {
		this.titolVal = titolVal;
	}
	
	public String getComentaris() {
		return this.comentaris;
	}

	public void setComentaris(String comentaris) {
		this.comentaris = comentaris;
	}

	public String getVersio() {
		return this.versio;
	}

	public void setVersio(String versio) {
		this.versio = versio;
	}

	public String getSubTitol() {
		return this.subTitol;
	}

	public void setSubTitol(String subTitol) {
		this.subTitol = subTitol;
	}

	public List<Instancia> getInstancies() {
		return this.instancies;
	}

	public void setInstancies(List<Instancia> instancies) {
		this.instancies = instancies;
	}

	public Instancia addInstancia(Instancia instancia) {
		getInstancies().add(instancia);
		instancia.setProces(this);

		return instancia;
	}

	public Instancia removeInstancia(Instancia instancia) {
		getInstancies().remove(instancia);
		instancia.setProces(null);

		return instancia;
	}

	public List<Tasca> getTasques() {
		return this.tasques;
	}

	public void setTasques(List<Tasca> tasques) {
		this.tasques = tasques;
	}

	public Tasca addTasca(Tasca tasca) {
		getTasques().add(tasca);
		tasca.setProces(this);

		return tasca;
	}

	public Tasca removeTasca(Tasca tasca) {
		getTasques().remove(tasca);
		tasca.setProces(null);
 
		return tasca;
	}

}