package at.intelligentminds.service.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@Table(name = "request", catalog = "mindmessages")
public class Request implements java.io.Serializable {
private static final long serialVersionUID = 2751247612846123166L;
private int id;
private User confirmer;
private User requester;
private Status status;
public Request() {
}
public Request(int id, User confirmer, User requester, Status status) {
this.id = id;
this.confirmer = confirmer;
this.requester = requester;
this.status = status;
}
public enum Status {
Pending, Accepted, Declined
}
public Request(int id, Status status) {
this.id = id;
this.status = status;
}
@Id
@Column(name = "id", unique = true, nullable = false)
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "confirmer_id")
public User getConfirmer() {
return this.confirmer;
}
public void setConfirmer(User confirmer) {
this.confirmer = confirmer;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "requester_id")
public User getRequester() {
return this.requester;
}
public void setRequester(User requester) {
this.requester = requester;
}
@Column(name = "status", unique = false, nullable = false)
@Enumerated(EnumType.ORDINAL)
public Status getStatus() {
return this.status;
}
public void setStatus(Status status) {
this.status = status;
}
}