diff --git a/todo/src/main/java/ru/kamask/pet/Task.java b/todo/src/main/java/ru/kamask/pet/Task.java index f6f6a4f..40ab7c8 100644 --- a/todo/src/main/java/ru/kamask/pet/Task.java +++ b/todo/src/main/java/ru/kamask/pet/Task.java @@ -3,8 +3,17 @@ package ru.kamask.pet; import java.time.LocalDate; class Task { - private static int nextId; - static int taskCount; + static int taskCount = 0; + + enum TaskIdGenerator { + INSTANCE; + + private int currentId = 1; + + int nextId() { + return currentId++; + } + } private int id; private String title; @@ -12,19 +21,12 @@ class Task { private TaskStatus status; private LocalDate createdAt; - static { - taskCount = 0; - nextId = 0; - } - - { - id = ++nextId; + Task(String title, String description) { + id = TaskIdGenerator.INSTANCE.nextId(); status = TaskStatus.NEW; createdAt = LocalDate.now(); taskCount++; - } - Task(String title, String description) { this.title = title; this.description = description; }; @@ -33,6 +35,14 @@ class Task { System.out.println("Колличество дел: " + taskCount); } + int getId() { + return id; + } + + String getTitle() { + return title; + } + boolean isCompleted() { return status == TaskStatus.COMPLETED; } @@ -49,14 +59,6 @@ class Task { status = TaskStatus.CANCELLED; } - int getId() { - return id; - } - - String getTitle() { - return title; - } - TaskStatus getStatus() { return status; } diff --git a/todo/src/main/java/ru/kamask/pet/TodoApp.java b/todo/src/main/java/ru/kamask/pet/TodoApp.java index 601e3b0..42ba9b7 100644 --- a/todo/src/main/java/ru/kamask/pet/TodoApp.java +++ b/todo/src/main/java/ru/kamask/pet/TodoApp.java @@ -168,6 +168,17 @@ public class TodoApp { } while (true); } + interface TaskAction { + default void execute(Task task) { + }; + + default void start(Task task) { + }; + + default void cancel(Task task) { + }; + } + private class TaskManager { void addTask(Task task) { tasks[tasksCounter++] = task; @@ -236,15 +247,4 @@ public class TodoApp { } } - - interface TaskAction { - default void execute(Task task) { - }; - - default void start(Task task) { - }; - - default void cancel(Task task) { - }; - } }