Реализован генератор идентификаторов задач с использованием перечисления TaskIdGenerator для упрощения управления уникальными идентификаторами. Удалена статическая переменная nextId. Closes #5
This commit is contained in:
parent
2db26eb77a
commit
a257a76f37
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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) {
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user