diff --git a/src/main/java/org/ntlab/amaryllis/server/entities/Category.java b/src/main/java/org/ntlab/amaryllis/server/entities/Category.java index 06a0dd4..5995619 100644 --- a/src/main/java/org/ntlab/amaryllis/server/entities/Category.java +++ b/src/main/java/org/ntlab/amaryllis/server/entities/Category.java @@ -1,18 +1,40 @@ package org.ntlab.amaryllis.server.entities; +import com.fasterxml.jackson.annotation.JsonIgnore; + +import java.util.ArrayList; + import static java.util.UUID.randomUUID; public class Category { - String categoryId; - String categoryName; + private String categoryId; + private String categoryName; + private ArrayList categorylist = new ArrayList<>();//そのcategoryが登録されているvidのリスト public Category(String categoryName) { this.categoryId = randomUUID().toString(); - this.categoryId = categoryName; + this.categoryName = categoryName; } - public void setCategory(String categoryId){ - this.categoryName = categoryId; + public String getCategoryId() { + return categoryId; + } + public String getCategoryName() { + return categoryName; + } + public ArrayList getCategorylist() { + return categorylist; + } + public void addCategorylist(String vid) { + for (String a : categorylist) { + if (a.equals(vid)) { + return; + } + this.categorylist.add(vid); + } + } + public void removeCategorylist(String vid) { + categorylist.remove(vid); } -} +} \ No newline at end of file diff --git a/src/main/java/org/ntlab/amaryllis/server/models/Categories.java b/src/main/java/org/ntlab/amaryllis/server/models/Categories.java index 392ee5f..baf6d2d 100644 --- a/src/main/java/org/ntlab/amaryllis/server/models/Categories.java +++ b/src/main/java/org/ntlab/amaryllis/server/models/Categories.java @@ -1,6 +1,39 @@ package org.ntlab.amaryllis.server.models; -public class Categories { +import org.ntlab.amaryllis.server.entities.Category; +import org.ntlab.amaryllis.server.entities.Voicememo; +import java.util.ArrayList; +public class Categories { + private static org.ntlab.amaryllis.server.models.Categories theInstance = null; + private static ArrayList categories = new ArrayList<>(); + + private Categories() { + createCategory("旅行"); + createCategory("音楽"); + createCategory("グルメ"); + } + + public static Categories getInstance() { + if (theInstance == null) { + theInstance = new Categories(); + } + return theInstance; + } + + public Category getCategory(String categoryId){ + for (Category a : categories) { + if (a.getCategoryId().equals(categoryId)) { + return a; + } + } + return null; + } + + public Category createCategory(String categoryName) { + Category newCategory = new Category(categoryName); + categories.add(newCategory); + return newCategory; + } } diff --git a/src/main/java/org/ntlab/amaryllis/server/resources/CategoriesRest.java b/src/main/java/org/ntlab/amaryllis/server/resources/CategoriesRest.java new file mode 100644 index 0000000..c5a809b --- /dev/null +++ b/src/main/java/org/ntlab/amaryllis/server/resources/CategoriesRest.java @@ -0,0 +1,23 @@ +package org.ntlab.amaryllis.server.resources; + +import org.ntlab.amaryllis.server.entities.Category; +import org.ntlab.amaryllis.server.models.Categories; +import org.springframework.stereotype.Component; +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import java.util.ArrayList; + +@Component +@Path("/categories") +public class CategoriesRest { + Categories categories= Categories.getInstance(); + + @GET + @Produces(MediaType.APPLICATION_JSON) + public Categories getCategories() { + return categories; + } + +} + +