package cz.cvut.fel.adaptiverestfulapi.example.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import java.util.Date;
@Entity
public class Task extends Issue {
@Column
private Date completedAt;
@ManyToOne
private Project project;
public Task() {
this(null, "New Task", null);
}
public Task(Date completedAt, String description, Project project) {
super(description, project);
this.setCompletedAt(completedAt);
}
public Date getCompletedAt() {
return this.completedAt;
}
public void setCompletedAt(Date completedAt) {
this.completedAt = completedAt;
}
public Project getProject() {
return this.project;
}
public void setProject(Project project) {
if (this.same(project)) {
return;
}
Project old = this.project;
this.project = project;
if (old != null) {
old.removeTask(this);
}
if (this.project != null) {
this.project.addTask(this);
}
}
private boolean same(Project project) {
return (this.project == null) ? project == null : this.project.equals(project);
}
}