Recipe.java 667 B

123456789101112131415161718192021222324252627282930
  1. package org.leumasjaffe.recipe.model;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.Optional;
  5. import java.util.stream.Stream;
  6. import javax.swing.ImageIcon;
  7. import lombok.Data;
  8. @Data
  9. public class Recipe implements CompoundRecipeComponent {
  10. String title;
  11. String description;
  12. int servings;
  13. // TODO: Nutrition information
  14. Optional<ImageIcon> photo; // TODO JSONIZATION
  15. List<Product> products = new ArrayList<>();
  16. @Override
  17. public Stream<Product> getComponents() {
  18. return products.stream();
  19. }
  20. @Override
  21. public Stream<Ingredient> getIngredientsAsStream() {
  22. return getComponents().flatMap(Product::getIngredientsAsStream);
  23. }
  24. }