From 135c7e2ad9ac4c7f4385c9c0d4030905ef08a22f Mon Sep 17 00:00:00 2001 From: qvalentin Date: Fri, 1 Apr 2022 17:07:46 +0200 Subject: [PATCH] Start category usecase --- .../java/category/CategoryIdGenerator.java | 6 +++++ .../main/java/category/CategoryUseCase.java | 24 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 2-Application/src/main/java/category/CategoryIdGenerator.java create mode 100644 2-Application/src/main/java/category/CategoryUseCase.java diff --git a/2-Application/src/main/java/category/CategoryIdGenerator.java b/2-Application/src/main/java/category/CategoryIdGenerator.java new file mode 100644 index 0000000..637fe15 --- /dev/null +++ b/2-Application/src/main/java/category/CategoryIdGenerator.java @@ -0,0 +1,6 @@ +package category; + +public interface CategoryIdGenerator +{ + CategoryId generateId(); +} diff --git a/2-Application/src/main/java/category/CategoryUseCase.java b/2-Application/src/main/java/category/CategoryUseCase.java new file mode 100644 index 0000000..2b83312 --- /dev/null +++ b/2-Application/src/main/java/category/CategoryUseCase.java @@ -0,0 +1,24 @@ +package category; + +import java.util.Set; + +public class CategoryUseCase { + + private final CategoryRepository categoryRepository; + private final CategoryIdGenerator categoryIdGenerator; + + CategoryUseCase(final CategoryRepository categoryRepository, final CategoryIdGenerator idGenerator) { + this.categoryRepository = categoryRepository; + this.categoryIdGenerator = idGenerator; + } + + public void addCategory(CategoryName name) { + + var id = this.categoryIdGenerator.generateId(); + this.categoryRepository.add(new Category(name, id)); + } + + public Set getCategories() { + return categoryRepository.getAll(); + } +}