From a4f4cb02c21d7d9af25fdac8b6357c0401723820 Mon Sep 17 00:00:00 2001 From: Sarthak Makhija Date: Fri, 10 Jan 2025 00:15:29 +0530 Subject: [PATCH] Sarthak | Refactors Projects, removes extends LinkedHashMap --- .../com/codurance/training/tasks/Projects.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/codurance/training/tasks/Projects.java b/src/main/java/com/codurance/training/tasks/Projects.java index 9463d02..abde5e6 100644 --- a/src/main/java/com/codurance/training/tasks/Projects.java +++ b/src/main/java/com/codurance/training/tasks/Projects.java @@ -1,16 +1,19 @@ package com.codurance.training.tasks; import java.util.LinkedHashMap; +import java.util.Map; import java.util.stream.Collectors; -public class Projects extends LinkedHashMap { +public class Projects { + + private final Map projects = new LinkedHashMap<>(); public void addProject(String name) { - this.put(name, new Project(name)); + this.projects.put(name, new Project(name)); } public void addTaskToProjectWithName(String projectName, Task task) { - Project project = this.get(projectName); + Project project = this.projects.get(projectName); if (project == null) { throw new IllegalArgumentException("Unknown project: " + projectName); } @@ -18,15 +21,15 @@ public void addTaskToProjectWithName(String projectName, Task task) { } public boolean markTaskWithIdDone(int id) { - return this.values().stream().anyMatch((Project project) -> project.markTaskWithIdDone(id)); + return this.projects.values().stream().anyMatch((Project project) -> project.markTaskWithIdDone(id)); } public boolean markTaskWithIdNotDone(int id) { - return this.values().stream().anyMatch((Project project) -> project.markTaskWithIdNotDone(id)); + return this.projects.values().stream().anyMatch((Project project) -> project.markTaskWithIdNotDone(id)); } public String format() { - return this.values().stream().map(Project::format).collect(Collectors.joining()); + return this.projects.values().stream().map(Project::format).collect(Collectors.joining()); } }