| 123456789101112131415161718192021222324252627282930313233 |
- package org.leumasjaffe.recipe.model;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Optional;
- import java.util.stream.Stream;
- import org.leumasjaffe.observer.Observable;
- import lombok.Data;
- import lombok.EqualsAndHashCode;
- @Data @EqualsAndHashCode(callSuper=false)
- public class Card extends Observable.Instance implements CompoundRecipeComponent {
- int id = 0; // TODO Fix this
- int[] dependsOn = {}; // decltype(id)[]
- String vessel = "";
- Optional<Preparation> preparation = Optional.empty();
- List<Step> cooking = new ArrayList<>();
- Optional<Rest> rest = Optional.empty();
-
- public Stream<Ingredient> getIngredientsAsStream() {
- return getComponents().flatMap(RecipeComponent::getIngredientsAsStream);
- }
-
- public Stream<? extends RecipeComponent> getComponents() {
- if (preparation.isPresent()) {
- return Stream.of(preparation.get());
- } else {
- return cooking.stream();
- }
- }
- }
|