───────┬──────────────────────────────────────────────────────────────────────── │ 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 jp.ac.kobe_u.cs.itspecialist.todoapp.dto.ToDoForm; 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 │ @Temporal(TemporalType.TIMESTAMP) 38 │ Date dueAt; //期限 39 │ 40 │ public boolean isValidDueDate() { 41 │ if (dueAt == null) { // dueが設定されていなければ無視する. 42 │ return true; 43 │ } 44 │ if (done) { // 完了していれば,更新不可. 45 │ return false; 46 │ } 47 │ // 期限は作成日よりも後でなければならない. 48 │ return dueAt.after(createdAt); 49 │ } 50 │ 51 │ private static final DateFormat FORMATTER = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 52 │ 53 │ public String getDueString() { 54 │ if(dueAt == null) { 55 │ return ""; 56 │ } 57 │ return FORMATTER.format(dueAt); 58 │ } 59 │ } ───────┴────────────────────────────────────────────────────────────────────────