diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index f6744ab3..afd3deaa 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -6,16 +6,15 @@ import java.util.stream.Stream; class GildedRose { Item[] items; - public static String agedBrie = "Aged Brie"; public GildedRose(Item[] items) { this.items = items; } public void updateQuality() { - Item[] agingItems = Arrays.stream(items).filter(i -> !i.name.toLowerCase().contains("sulfuras")).toArray(Item[]::new); - Stream bries = Arrays.stream(agingItems).filter(i -> i.name.equals(agedBrie)); + Item[] agingItems = Arrays.stream(items).filter(i -> !isSulfuras(i)).toArray(Item[]::new); + Stream bries = Arrays.stream(agingItems).filter(this::isBrie); Stream backstagePasses = Arrays.stream(agingItems).filter(this::isBackstagePass); - Stream standardItems = Arrays.stream(agingItems).filter(i -> !isBackstagePass(i) && !i.name.equals(agedBrie)); + Stream standardItems = Arrays.stream(agingItems).filter(i -> !(isBackstagePass(i) || isBrie(i))); for (Item item : agingItems) { item.sellIn--; } @@ -47,5 +46,10 @@ class GildedRose { private boolean isBackstagePass(Item i) { return i.name.toLowerCase().contains("backstage"); } - + private boolean isSulfuras(Item i) { + return i.name.toLowerCase().contains("sulfuras"); + } + private boolean isBrie(Item i) { + return i.name.equals("Aged Brie"); + } }