/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* Copyright (c) 2013, MPL CodeInside http://codeinside.ru
*/
package ru.codeinside.adm.database;
import java.io.Serializable;
import java.util.Date;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import ru.codeinside.log.Logger;
@Entity
@EntityListeners(Logger.class)
@NamedQuery(name = "findAllProcedures", query = "SELECT p FROM Procedure p")
@SequenceGenerator(name = "procedure_seq", sequenceName = "procedure_seq")
public class Procedure implements Serializable{
private static final long serialVersionUID = 223L;
@Id
@GeneratedValue(generator = "procedure_seq")
private Long id;
private ProcedureType type;
@Column(length=1500)
private String name;
@Column(length=1500)
private String description;
private String version;
private String status;
@ManyToOne
private Service service;
@Column(unique = true)
private Long registerCode;
@ManyToOne(fetch = FetchType.LAZY)
private Employee creator;
@OneToMany(mappedBy = "procedure", fetch = FetchType.LAZY)
private Set<ProcedureProcessDefinition> processDefinitions;
@Temporal(TemporalType.TIMESTAMP)
private Date dateCreated = new Date();
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Date getDateCreated() {
return dateCreated;
}
public void setName(String name) {
this.name = name;
}
public void setDescription(String description) {
this.description = description;
}
public void setService(Service service) {
this.service = service;
}
public void setCreator(Employee creator) {
this.creator = creator;
}
public String getName() {
return name;
}
public String getId() {
return id.toString();
}
public String getDescription() {
return description;
}
public ProcedureType getType() {
return type;
}
public void setType(ProcedureType type) {
this.type = type;
}
public Service getService() {
return service;
}
public Long getRegisterCode() {
return registerCode;
}
public void setRegisterCode(Long registerCode) {
this.registerCode = registerCode;
}
}