Merge pull request 'refactor(repo): переименование и реструктуризация классов репозитория (close #47)' (#56) from feature/inmemory-repository into dev
Reviewed-on: #56
This commit is contained in:
commit
0174224089
@ -3,12 +3,13 @@ package ru.kamask.pet.todo;
|
||||
import java.io.IOException;
|
||||
|
||||
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;
|
||||
|
||||
public class TodoApp {
|
||||
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);
|
||||
|
||||
cli.start();
|
||||
|
||||
@ -6,23 +6,23 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import ru.kamask.pet.todo.model.SimpleTask;
|
||||
import ru.kamask.pet.todo.model.Identifiable;
|
||||
|
||||
public class InMemoryTaskRepository implements TaskRepository {
|
||||
private Map<Integer, SimpleTask> storage = new HashMap<>();
|
||||
public class InMemoryRepository<T extends Identifiable> implements Repository<T> {
|
||||
private Map<Integer, T> storage = new HashMap<>();
|
||||
|
||||
@Override
|
||||
public void save(SimpleTask task) {
|
||||
storage.put(task.id(), task);
|
||||
public void save(T obj) {
|
||||
storage.put(obj.getId(), obj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<SimpleTask> findById(int id) {
|
||||
public Optional<T> findById(int id) {
|
||||
return Optional.ofNullable(storage.get(id));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SimpleTask> findAll() {
|
||||
public List<T> findAll() {
|
||||
return new ArrayList<>(storage.values());
|
||||
}
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
package ru.kamask.pet.todo.repo;
|
||||
|
||||
import ru.kamask.pet.todo.model.SimpleTask;
|
||||
|
||||
public interface TaskRepository extends Repository<SimpleTask> {}
|
||||
@ -4,12 +4,12 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import ru.kamask.pet.todo.model.SimpleTask;
|
||||
import ru.kamask.pet.todo.repo.TaskRepository;
|
||||
import ru.kamask.pet.todo.repo.InMemoryRepository;
|
||||
|
||||
public class TaskService {
|
||||
private final TaskRepository repo;
|
||||
private final InMemoryRepository<SimpleTask> repo;
|
||||
|
||||
public TaskService(TaskRepository repo) {
|
||||
public TaskService(InMemoryRepository<SimpleTask> repo) {
|
||||
this.repo = repo;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user