package models;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
/**
* A WorkItem is any item that can be processed to completion at a
* set of stations. It has an audit history of state transitions. It also
* has an assignee that is assigned to complete work at a given station.
*
* @author: bbenson
*/
@Entity
public class WorkItem extends IdModel {
@Column(nullable = false)
public String name;
public String description;
@ManyToOne
@Column(nullable = false)
public WorkItemStateType state;
@OneToMany(cascade = CascadeType.ALL)
public List<WorkItemStateTransition> history;
@ManyToOne
@Column(nullable = false)
public Project project;
@ManyToOne
public Station station;
@ManyToOne
public User assignee;
}