Advertisement
ivana_andreevska

InMemoryCategoryRepository

Nov 10th, 2022
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. package mk.ukim.finki.wpaud.repository;
  2.  
  3. import mk.ukim.finki.wpaud.bootstrap.DataHolder;
  4. import mk.ukim.finki.wpaud.model.Category;
  5. import org.springframework.stereotype.Repository;
  6.  
  7. import java.util.List;
  8. import java.util.Optional;
  9. import java.util.stream.Collectors;
  10.  
  11. @Repository
  12. public class InMemoryCategoryRepository {
  13. public List<Category> findAll() {
  14. return DataHolder.categories;
  15. }
  16.  
  17. public Category save(Category c) {
  18. if (c == null || c.getName()==null || c.getName().isEmpty()) {
  19. return null;
  20. }
  21. DataHolder.categories.removeIf(r -> r.getName().equals(c.getName()));
  22. DataHolder.categories.add(c);
  23. return c;
  24. }
  25.  
  26. public Optional<Category> findByName(String name) {
  27. return DataHolder.categories.
  28. stream()
  29. .filter(r -> r.getName().equals(name))
  30. .findFirst();
  31. }
  32.  
  33. public List<Category> search(String text) {
  34. return DataHolder.categories
  35. .stream().filter(r -> r.getName().contains(text) || r.getDescription().contains(text))
  36. .collect(Collectors.toList());
  37. }
  38.  
  39. public void delete(String name) {
  40. if (name == null) {
  41. return;
  42. }
  43. DataHolder.categories.removeIf(r -> r.getName().equals(name));
  44. }
  45. }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement