feature/tasks/enum-status-and-idgen #19

Merged
KamaSK merged 3 commits from feature/tasks/enum-status-and-idgen into main 2025-05-20 20:52:26 +03:00
2 changed files with 32 additions and 30 deletions
Showing only changes of commit a257a76f37 - Show all commits

View File

@ -3,8 +3,17 @@ package ru.kamask.pet;
import java.time.LocalDate; import java.time.LocalDate;
class Task { class Task {
private static int nextId; static int taskCount = 0;
static int taskCount;
enum TaskIdGenerator {
INSTANCE;
private int currentId = 1;
int nextId() {
return currentId++;
}
}
private int id; private int id;
private String title; private String title;
@ -12,19 +21,12 @@ class Task {
private TaskStatus status; private TaskStatus status;
private LocalDate createdAt; private LocalDate createdAt;
static { Task(String title, String description) {
taskCount = 0; id = TaskIdGenerator.INSTANCE.nextId();
nextId = 0;
}
{
id = ++nextId;
status = TaskStatus.NEW; status = TaskStatus.NEW;
createdAt = LocalDate.now(); createdAt = LocalDate.now();
taskCount++; taskCount++;
}
Task(String title, String description) {
this.title = title; this.title = title;
this.description = description; this.description = description;
}; };
@ -33,6 +35,14 @@ class Task {
System.out.println("Колличество дел: " + taskCount); System.out.println("Колличество дел: " + taskCount);
} }
int getId() {
return id;
}
String getTitle() {
return title;
}
boolean isCompleted() { boolean isCompleted() {
return status == TaskStatus.COMPLETED; return status == TaskStatus.COMPLETED;
} }
@ -49,14 +59,6 @@ class Task {
status = TaskStatus.CANCELLED; status = TaskStatus.CANCELLED;
} }
int getId() {
return id;
}
String getTitle() {
return title;
}
TaskStatus getStatus() { TaskStatus getStatus() {
return status; return status;
} }

View File

@ -168,6 +168,17 @@ public class TodoApp {
} while (true); } while (true);
} }
interface TaskAction {
default void execute(Task task) {
};
default void start(Task task) {
};
default void cancel(Task task) {
};
}
private class TaskManager { private class TaskManager {
void addTask(Task task) { void addTask(Task task) {
tasks[tasksCounter++] = 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) {
};
}
} }