package se.chalmers.dat255.grupp12; import java.util.ArrayList; import java.util.Calendar; import java.util.List; /** * Created with IntelliJ IDEA. * se.chalmers.dat255.grupp12.User: Hagej * Date: 2013-09-12 * Time: 16:10 * To change this template use File | Settings | File Templates. */ public class Task extends DatabaseEntry { private String title; private String content = ""; private Priority priority; private Calendar date; private List<User> users = new ArrayList<User>();; private boolean isDone = false; public void removeUser(User user) { users.remove(user); } enum Priority { HIGH, MEDIUM, LOW } private Task() {} // Gson-required constructor public Task(String title) { this(title, 0); } public Task(String title, int priority){ this(title, priority, "", false); } public Task(String title,int priority, String content,boolean isDone){ this(title, Priority.HIGH, content, isDone); this.priority = getPrio(priority); // Cannot be called on cunstructor call since call to this(), must be first // call in constructor } public Task(String title, Priority priority, String content, boolean isDone) { this.title = title; this.priority = priority; this.content = (content == null || content.equals("null")) ? "" : content; this.isDone = isDone; } public Priority getPrio(int prio) { switch (prio) { case 0: return Priority.HIGH; case 1: return Priority.MEDIUM; case 2: return Priority.LOW; default: return Priority.LOW; } } public int getPriority(){ switch (priority){ case LOW: return 2; case MEDIUM: return 1; case HIGH: return 0; default: return 0; } } public void assignUser(User user){ users.add(user); } public List<User> getUsers(){ return users; } public void setPriority(Priority priority){ this.priority = priority; } public String getTitle(){ return title; } public void setTitle(String title){ this.title = title; } public String getContent(){ return content; } public void setContent(String content){ this.content = content; } public Calendar getDate(){ return date; } public void setDate(Calendar date){ this.date = date; } public boolean isDone() { return isDone; } public void isDone(boolean isDone){ this.isDone = isDone; } @Override public boolean equals(Object obj) { if (obj instanceof Task) { Task t2 = (Task) obj; return t2.getTitle().equals(getTitle()) && t2.getContent().equals(getContent()) && t2.getId() == getId(); } return false; } @Override public String toString() { return "(" + getId() + ")" + title + ":" + content; } }