/**
*
*/
package net.conselldemallorca.helium.core.model.hibernate;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Index;
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 un document de la definició
* de procés
*
* @author Limit Tecnologies <limit@limit.es>
*/
@Entity
@Table( name="hel_accio",
uniqueConstraints={@UniqueConstraint(columnNames={"codi", "definicio_proces_id"})})
@org.hibernate.annotations.Table(
appliesTo = "hel_accio",
indexes = @Index(name = "hel_accio_defproc_i", columnNames = {"definicio_proces_id"}))
public class Accio implements Serializable, GenericEntity<Long> {
private Long id;
@NotBlank
@MaxLength(64)
private String codi;
@NotBlank
@MaxLength(255)
private String nom;
@MaxLength(255)
private String descripcio;
@NotBlank
@MaxLength(255)
private String jbpmAction;
private boolean publica;
private boolean oculta;
@MaxLength(512)
private String rols;
private String cron;
@NotNull
private DefinicioProces definicioProces;
public Accio() {}
public Accio(DefinicioProces definicioProces, String codi, String nom, String jbpmAction) {
this.definicioProces = definicioProces;
this.codi = codi;
this.nom = nom;
this.jbpmAction = jbpmAction;
}
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator="gen_document")
@TableGenerator(name="gen_document", table="hel_idgen", pkColumnName="taula", valueColumnName="valor")
@Column(name="id")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Column(name="codi", length=64, nullable=false)
public String getCodi() {
return codi;
}
public void setCodi(String codi) {
this.codi = codi;
}
@Column(name="nom", length=255, nullable=false)
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
@Column(name="descripcio", length=255)
public String getDescripcio() {
return descripcio;
}
public void setDescripcio(String descripcio) {
this.descripcio = descripcio;
}
@Column(name="jbpm_action", length=255, nullable=false)
public String getJbpmAction() {
return jbpmAction;
}
public void setJbpmAction(String jbpmAction) {
this.jbpmAction = jbpmAction;
}
@Column(name="publica")
public boolean isPublica() {
return publica;
}
public void setPublica(boolean publica) {
this.publica = publica;
}
@Column(name="oculta")
public boolean isOculta() {
return oculta;
}
public void setOculta(boolean oculta) {
this.oculta = oculta;
}
@Column(name="cron", length=255)
public String getCron() {
return cron;
}
public void setCron(String cron) {
this.cron = cron;
}
@Column(name="rols", length=512)
public String getRols() {
return rols;
}
public void setRols(String rols) {
this.rols = rols;
}
@ManyToOne(optional=false)
@JoinColumn(name="definicio_proces_id")
@ForeignKey(name="hel_defproc_accio_fk")
public DefinicioProces getDefinicioProces() {
return definicioProces;
}
public void setDefinicioProces(DefinicioProces definicioProces) {
this.definicioProces = definicioProces;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((codi == null) ? 0 : codi.hashCode());
result = prime * result
+ ((definicioProces == null) ? 0 : definicioProces.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;
Accio other = (Accio) obj;
if (codi == null) {
if (other.codi != null)
return false;
} else if (!codi.equals(other.codi))
return false;
if (definicioProces == null) {
if (other.definicioProces != null)
return false;
} else if (!definicioProces.equals(other.definicioProces))
return false;
return true;
}
private static final long serialVersionUID = 1L;
}