/** * */ package net.conselldemallorca.helium.core.model.update; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import net.conselldemallorca.helium.core.model.hibernate.GenericEntity; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.springmodules.validation.bean.conf.loader.annotation.handler.MaxLength; import org.springmodules.validation.bean.conf.loader.annotation.handler.NotBlank; import org.springmodules.validation.bean.conf.loader.annotation.handler.NotNull; /** * Objecte de domini que representa una versiĆ³ de l'aplicaciĆ³. * * @author Limit Tecnologies <limit@limit.es> */ @Entity @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @Table(name="hel_versio") public class Versio implements Serializable, GenericEntity<Long> { private Long id; @NotBlank @MaxLength(64) private String codi; private int ordre; @MaxLength(255) private String descripcio; @NotNull private Date dataCreacio; private boolean procesExecutat = false; private Date dataExecucioProces; private boolean scriptExecutat = false; private Date dataExecucioScript; public Versio() {} public Versio(String codi, Integer ordre) { this.codi = codi; this.ordre = ordre; this.setDataCreacio(new Date()); } @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name="id") public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Column(name="codi", length=64, nullable=false, unique=true) public String getCodi() { return this.codi; } public void setCodi(String codi) { this.codi = codi; } @Column(name="ordre", nullable=false, unique=true) public int getOrdre() { return ordre; } public void setOrdre(Integer ordre) { this.ordre = ordre; } @Column(name="descripcio", length=255) public String getDescripcio() { return descripcio; } public void setDescripcio(String descripcio) { this.descripcio = descripcio; } @Column(name="data_creacio", nullable=false) @Temporal(TemporalType.TIMESTAMP) public Date getDataCreacio() { return dataCreacio; } public void setDataCreacio(Date dataCreacio) { this.dataCreacio = dataCreacio; } @Column(name="proces_executat") public boolean isProcesExecutat() { return procesExecutat; } public void setProcesExecutat(boolean procesExecutat) { this.procesExecutat = procesExecutat; } @Column(name="data_execucio_proces") @Temporal(TemporalType.TIMESTAMP) public Date getDataExecucioProces() { return dataExecucioProces; } public void setDataExecucioProces(Date dataExecucioProces) { this.dataExecucioProces = dataExecucioProces; } @Column(name="script_executat") public boolean isScriptExecutat() { return scriptExecutat; } public void setScriptExecutat(boolean scriptExecutat) { this.scriptExecutat = scriptExecutat; } @Column(name="data_execucio_script") @Temporal(TemporalType.TIMESTAMP) public Date getDataExecucioScript() { return dataExecucioScript; } public void setDataExecucioScript(Date dataExecucioScript) { this.dataExecucioScript = dataExecucioScript; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((codi == null) ? 0 : codi.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Versio other = (Versio) obj; if (codi == null) { if (other.codi != null) return false; } else if (!codi.equals(other.codi)) return false; return true; } @Override public String toString() { return "Versio id=" + id + ", codi=" + codi + ", ordre=" + ordre; } private static final long serialVersionUID = 1L; }