@@ -21,9 +21,10 @@ public class Card extends Observable.Instance implements CompoundRecipeComponent
Optional<Rest> rest = Optional.empty();
public Stream<Ingredient> getIngredientsAsStream() {
- return getComponents().flatMap(RecipeComponent::getIngredientsAsStream);
+ return cooking.stream().flatMap(RecipeComponent::getIngredientsAsStream);
}
+ // TODO Include Rest and Preparation
public Stream<? extends RecipeComponent> getComponents() {
return cooking.stream();
@@ -1,13 +1,16 @@
package org.leumasjaffe.recipe.model;
+import lombok.AccessLevel;
import lombok.AllArgsConstructor;
-import lombok.Data;
+import lombok.Getter;
import lombok.NoArgsConstructor;
+import lombok.Setter;
-@AllArgsConstructor @NoArgsConstructor @Data
+@AllArgsConstructor @NoArgsConstructor
+@Getter(AccessLevel.PACKAGE) @Setter(AccessLevel.PRIVATE)
public class Duration {
@AllArgsConstructor
- enum Display {
+ public enum Display {
SECONDS("s", 1), MINUTES("min", 60), HOURS("hr", 3600);
String abbreviation;
int inSeconds;
@@ -4,9 +4,10 @@ import lombok.AccessLevel;
import lombok.Data;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;
-@Data
+@Data @AllArgsConstructor @NoArgsConstructor
public class Rest {
@AllArgsConstructor @Getter @FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
public enum Where {
@@ -11,6 +11,6 @@ import lombok.EqualsAndHashCode;
@Data @EqualsAndHashCode(callSuper=false)
public class Step extends Observable.Instance implements RecipeComponent {
List<Ingredient> ingredients = new ArrayList<>();
- Duration duration;
- String instruction;
+ Duration duration = Duration.ZERO;
+ String instruction = "";