───────┬──────────────────────────────────────────────────────────────────────── │ File: src/main//java/jp/ac/kobe_u/cs/itspecialist/todoapp/entity/ToDo.java ───────┼──────────────────────────────────────────────────────────────────────── 1 │ package jp.ac.kobe_u.cs.itspecialist.todoapp.entity; 2 │ 3 │ import java.text.DateFormat; 4 │ import java.text.SimpleDateFormat; 5 │ import java.util.Date; 6 │ 7 │ import javax.persistence.Entity; 8 │ import javax.persistence.GeneratedValue; 9 │ import javax.persistence.GenerationType; 10 │ import javax.persistence.Id; 11 │ import javax.persistence.Temporal; 12 │ import javax.persistence.TemporalType; 13 │ 14 │ import humanize.Humanize; 15 │ import lombok.AllArgsConstructor; 16 │ import lombok.Data; 17 │ import lombok.NoArgsConstructor; 18 │ 19 │ /** 20 │ * ToDo エンティティ 21 │ */ 22 │ @Data 23 │ @AllArgsConstructor 24 │ @NoArgsConstructor 25 │ @Entity 26 │ public class ToDo { 27 │ @Id 28 │ @GeneratedValue(strategy = GenerationType.IDENTITY) 29 │ Long seq; //通し番号 30 │ String title; //題目 31 │ String mid; //作成者 32 │ boolean done; //完了フラグ 33 │ @Temporal(TemporalType.TIMESTAMP) 34 │ Date createdAt; //作成日時 35 │ @Temporal(TemporalType.TIMESTAMP) 36 │ Date doneAt; //完了日時 37 │ 38 │ @Temporal(TemporalType.TIMESTAMP) 39 │ Date dueAt; //期限 40 │ String background; //背景色 41 │ 42 │ public boolean isValidDueDate() { 43 │ if (dueAt == null) { // dueが設定されていなければ無視する. 44 │ return true; 45 │ } 46 │ if (done) { // 完了していれば,更新不可. 47 │ return false; 48 │ } 49 │ // 期限は作成日よりも後でなければならない. 50 │ return dueAt.after(createdAt); 51 │ } 52 │ 53 │ private static final DateFormat FORMATTER = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 54 │ 55 │ public String getDueString() { 56 │ if (dueAt == null) { 57 │ return ""; 58 │ } 59 │ return FORMATTER.format(dueAt); 60 │ } 61 │ 62 │ public String humanizeCreatedAt() { 63 │ return Humanize.naturalDay(createdAt); 64 │ } 65 │ 66 │ public String humanizeDueAt() { 67 │ if(dueAt == null) { 68 │ return ""; 69 │ } 70 │ return Humanize.naturalDay(dueAt); 71 │ } 72 │ 73 │ public String humanizeDoneAt() { 74 │ if(doneAt == null) { 75 │ return ""; 76 │ } 77 │ return Humanize.naturalDay(doneAt); 78 │ } 79 │ } ───────┴────────────────────────────────────────────────────────────────────────