refactor(repo): переименование и реструктуризация классов репозитория (close #47) #56

Merged
KamaSK merged 1 commits from feature/inmemory-repository into dev 2025-06-06 20:34:20 +03:00
4 changed files with 13 additions and 17 deletions
Showing only changes of commit 8c0cc0aa06 - Show all commits

View File

@ -3,12 +3,13 @@ package ru.kamask.pet.todo;
import java.io.IOException; import java.io.IOException;
import ru.kamask.pet.todo.cli.CliEngine; import ru.kamask.pet.todo.cli.CliEngine;
import ru.kamask.pet.todo.repo.InMemoryTaskRepository; import ru.kamask.pet.todo.model.SimpleTask;
import ru.kamask.pet.todo.repo.InMemoryRepository;
import ru.kamask.pet.todo.service.TaskService; import ru.kamask.pet.todo.service.TaskService;
public class TodoApp { public class TodoApp {
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {
var service = new TaskService(new InMemoryTaskRepository()); var service = new TaskService(new InMemoryRepository<SimpleTask>());
var cli = new CliEngine(service); var cli = new CliEngine(service);
cli.start(); cli.start();

View File

@ -6,23 +6,23 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
import ru.kamask.pet.todo.model.SimpleTask; import ru.kamask.pet.todo.model.Identifiable;
public class InMemoryTaskRepository implements TaskRepository { public class InMemoryRepository<T extends Identifiable> implements Repository<T> {
private Map<Integer, SimpleTask> storage = new HashMap<>(); private Map<Integer, T> storage = new HashMap<>();
@Override @Override
public void save(SimpleTask task) { public void save(T obj) {
storage.put(task.id(), task); storage.put(obj.getId(), obj);
} }
@Override @Override
public Optional<SimpleTask> findById(int id) { public Optional<T> findById(int id) {
return Optional.ofNullable(storage.get(id)); return Optional.ofNullable(storage.get(id));
} }
@Override @Override
public List<SimpleTask> findAll() { public List<T> findAll() {
return new ArrayList<>(storage.values()); return new ArrayList<>(storage.values());
} }

View File

@ -1,5 +0,0 @@
package ru.kamask.pet.todo.repo;
import ru.kamask.pet.todo.model.SimpleTask;
public interface TaskRepository extends Repository<SimpleTask> {}

View File

@ -4,12 +4,12 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import ru.kamask.pet.todo.model.SimpleTask; import ru.kamask.pet.todo.model.SimpleTask;
import ru.kamask.pet.todo.repo.TaskRepository; import ru.kamask.pet.todo.repo.InMemoryRepository;
public class TaskService { public class TaskService {
private final TaskRepository repo; private final InMemoryRepository<SimpleTask> repo;
public TaskService(TaskRepository repo) { public TaskService(InMemoryRepository<SimpleTask> repo) {
this.repo = repo; this.repo = repo;
} }