From 35a0abea18dde78f22a2ccc09332344563a99b98 Mon Sep 17 00:00:00 2001 From: Gabba Date: Tue, 16 Jan 2018 10:44:34 +0000 Subject: [PATCH] Item is passed in CustomisedItem contructor --- .../src/main/java/com/gildedrose/GildedRose.java | 2 +- .../main/java/com/gildedrose/item/AgedBrie.java | 1 + .../com/gildedrose/item/BackstagePassesItem.java | 1 + .../java/com/gildedrose/item/ConjuredItem.java | 1 + .../java/com/gildedrose/item/CustomisedItem.java | 16 +++++++++++----- .../java/com/gildedrose/item/StandardItem.java | 1 + .../main/java/com/gildedrose/item/Sulfuras.java | 1 + 7 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index 76519690..5351dbcc 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -15,7 +15,7 @@ class GildedRose { public void updateQuality() { for (Item item : items) { - itemFactory.customiseItem(item).updateState(item); + itemFactory.customiseItem(item).updateState(); } } } \ No newline at end of file diff --git a/Java/src/main/java/com/gildedrose/item/AgedBrie.java b/Java/src/main/java/com/gildedrose/item/AgedBrie.java index 20688f06..a6992c41 100644 --- a/Java/src/main/java/com/gildedrose/item/AgedBrie.java +++ b/Java/src/main/java/com/gildedrose/item/AgedBrie.java @@ -5,6 +5,7 @@ class AgedBrie extends CustomisedItem { private final Item item; AgedBrie(Item item) { + super(item); this.item = item; } diff --git a/Java/src/main/java/com/gildedrose/item/BackstagePassesItem.java b/Java/src/main/java/com/gildedrose/item/BackstagePassesItem.java index 50736f90..18a04d85 100644 --- a/Java/src/main/java/com/gildedrose/item/BackstagePassesItem.java +++ b/Java/src/main/java/com/gildedrose/item/BackstagePassesItem.java @@ -5,6 +5,7 @@ class BackstagePassesItem extends CustomisedItem { private final Item item; BackstagePassesItem(Item item) { + super(item); this.item = item; } diff --git a/Java/src/main/java/com/gildedrose/item/ConjuredItem.java b/Java/src/main/java/com/gildedrose/item/ConjuredItem.java index 17d8d97e..eaa58855 100644 --- a/Java/src/main/java/com/gildedrose/item/ConjuredItem.java +++ b/Java/src/main/java/com/gildedrose/item/ConjuredItem.java @@ -5,6 +5,7 @@ class ConjuredItem extends CustomisedItem { private final Item item; ConjuredItem(Item item) { + super(item); this.item = item; } diff --git a/Java/src/main/java/com/gildedrose/item/CustomisedItem.java b/Java/src/main/java/com/gildedrose/item/CustomisedItem.java index 293d3e34..ef6796a9 100644 --- a/Java/src/main/java/com/gildedrose/item/CustomisedItem.java +++ b/Java/src/main/java/com/gildedrose/item/CustomisedItem.java @@ -2,13 +2,19 @@ package com.gildedrose.item; public abstract class CustomisedItem { - public final void updateState(Item item) { + private final Item item; + + CustomisedItem(Item item) { + this.item = item; + } + + public final void updateState() { item.sellIn = updatedItemSellIn(); item.quality = updatedItemQuality(); - if (hasReachedLowestQualityValue(item)) { + if (hasReachedLowestQualityValue()) { item.quality = QualityValues.lowestValuePossible(); - } else if (hasReachedHighestQualityValue(item)) { + } else if (hasReachedHighestQualityValue()) { item.quality = QualityValues.highestValuePossible(item); } } @@ -17,11 +23,11 @@ public abstract class CustomisedItem { abstract int updatedItemQuality(); - private boolean hasReachedHighestQualityValue(Item item) { + private boolean hasReachedHighestQualityValue() { return item.quality > QualityValues.highestValuePossible(item); } - private boolean hasReachedLowestQualityValue(Item item) { + private boolean hasReachedLowestQualityValue() { return item.quality < QualityValues.lowestValuePossible(); } } diff --git a/Java/src/main/java/com/gildedrose/item/StandardItem.java b/Java/src/main/java/com/gildedrose/item/StandardItem.java index 2a60dcb6..5c498a62 100644 --- a/Java/src/main/java/com/gildedrose/item/StandardItem.java +++ b/Java/src/main/java/com/gildedrose/item/StandardItem.java @@ -5,6 +5,7 @@ class StandardItem extends CustomisedItem { private final Item item; StandardItem(Item item) { + super(item); this.item = item; } diff --git a/Java/src/main/java/com/gildedrose/item/Sulfuras.java b/Java/src/main/java/com/gildedrose/item/Sulfuras.java index 4f8e9188..e39d5473 100644 --- a/Java/src/main/java/com/gildedrose/item/Sulfuras.java +++ b/Java/src/main/java/com/gildedrose/item/Sulfuras.java @@ -5,6 +5,7 @@ class Sulfuras extends CustomisedItem { private final Item item; Sulfuras(Item item) { + super(item); this.item = item; }