From 4a96b36ac398f49f4a7d883adbbf5395a457e460 Mon Sep 17 00:00:00 2001 From: Karim Fadel Date: Wed, 14 Jan 2026 08:38:43 +0200 Subject: [PATCH] instance method --- .../main/java/com/gildedrose/GildedRose.java | 26 +---------------- .../src/main/java/com/gildedrose/Item.java | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/Java-Approvals/src/main/java/com/gildedrose/GildedRose.java b/Java-Approvals/src/main/java/com/gildedrose/GildedRose.java index 844f8d91..74f1b0a7 100644 --- a/Java-Approvals/src/main/java/com/gildedrose/GildedRose.java +++ b/Java-Approvals/src/main/java/com/gildedrose/GildedRose.java @@ -11,31 +11,7 @@ class GildedRose { public void updateQuality() { for (Item item : items) { - if (item.isAgedBrie()) { - item.increaseQualityByOne(); - - item.decreaseSellInEachDay(); - - if (item.sellIn < 0) { - item.increaseQualityByOne(); - } - } else if (item.isBackstagePasses()) { - item.increaseQualityBackstage(); - - item.decreaseSellInEachDay(); - - if (item.sellIn < 0) { - item.quality = 0; - } - } else { - item.decreaseQualityByOne(); - - item.decreaseSellInEachDay(); - - if (item.sellIn < 0) { - item.decreaseQualityByOne(); - } - } + item.updateQuality(); } } diff --git a/Java-Approvals/src/main/java/com/gildedrose/Item.java b/Java-Approvals/src/main/java/com/gildedrose/Item.java index 525efbcd..aaa47d1b 100644 --- a/Java-Approvals/src/main/java/com/gildedrose/Item.java +++ b/Java-Approvals/src/main/java/com/gildedrose/Item.java @@ -17,6 +17,34 @@ public class Item { this.quality = quality; } + public void updateQuality() { + if (isAgedBrie()) { + increaseQualityByOne(); + + decreaseSellInEachDay(); + + if (sellIn < 0) { + increaseQualityByOne(); + } + } else if (isBackstagePasses()) { + increaseQualityBackstage(); + + decreaseSellInEachDay(); + + if (sellIn < 0) { + quality = 0; + } + } else { + decreaseQualityByOne(); + + decreaseSellInEachDay(); + + if (sellIn < 0) { + decreaseQualityByOne(); + } + } + } + public boolean isBackstagePasses() { return name.equals(BACKSTAGE_PASSES); }