From 592a15d6dee31ff04b437e36e393f7ee0840bfa8 Mon Sep 17 00:00:00 2001 From: FlorinPintaPPF Date: Wed, 16 Nov 2022 14:21:32 -0800 Subject: [PATCH] [refactoring] : BT - Senior Java Developer --- .../com/gildedrose/GildedRoseAbstract.java | 16 ++++++++++++ .../com/gildedrose/GildedRoseAgedBrie.java | 26 +++++++++++++++++++ .../GildedRoseNotAgedBrieNotSulfuras.java | 26 +++++++++++++++++++ .../com/gildedrose/GildedRoseSulfuras.java | 16 ++++++++++++ 4 files changed, 84 insertions(+) create mode 100644 Java/src/main/java/com/gildedrose/GildedRoseAbstract.java create mode 100644 Java/src/main/java/com/gildedrose/GildedRoseAgedBrie.java create mode 100644 Java/src/main/java/com/gildedrose/GildedRoseNotAgedBrieNotSulfuras.java create mode 100644 Java/src/main/java/com/gildedrose/GildedRoseSulfuras.java diff --git a/Java/src/main/java/com/gildedrose/GildedRoseAbstract.java b/Java/src/main/java/com/gildedrose/GildedRoseAbstract.java new file mode 100644 index 00000000..1c213473 --- /dev/null +++ b/Java/src/main/java/com/gildedrose/GildedRoseAbstract.java @@ -0,0 +1,16 @@ +package com.gildedrose; + +class GildedRoseAbstract { + protected Item[] itemsList; + + protected final static AGED_BRIE = "Aged Brie"; + protected final static BACKSTAGE_PASSES = "Backstage passes to a TAFKAL80ETC concert"; + protected final static SULFURAS = "Sulfuras, Hand of Ragnaros"; + + + public GildedRoseAbstract(Item[] itemsList) { + this.itemsList = itemsList; + } + + public abstract void updateQuality(); +} diff --git a/Java/src/main/java/com/gildedrose/GildedRoseAgedBrie.java b/Java/src/main/java/com/gildedrose/GildedRoseAgedBrie.java new file mode 100644 index 00000000..bdc88aed --- /dev/null +++ b/Java/src/main/java/com/gildedrose/GildedRoseAgedBrie.java @@ -0,0 +1,26 @@ +package com.gildedrose; + +class GildedRoseAgedBrie extends GildedRoseAbstract { + + public GildedRoseAgedBrie(Item[] itemsList) { + this.super(itemsList); + } + + public void updateQuality() { + for (Item itemValue : itemsList) { + if (!itemValue.name.equals(AGED_BRIE) + && !itemValue.name.equals(BACKSTAGE_PASSES) + && itemValue.quality > 0 + && !itemValue.name.equals(SULFURAS)) { + itemValue.quality --; + } else if (itemValue.quality < 50) { + itemValue.quality ++; + if (itemValue.name.equals(BACKSTAGE_PASSES) + && (itemValue.sellIn < 11 || itemValue.sellIn < 6) + && itemValue.quality < 50) { + itemValue.quality ++; + } + } + } + } +} diff --git a/Java/src/main/java/com/gildedrose/GildedRoseNotAgedBrieNotSulfuras.java b/Java/src/main/java/com/gildedrose/GildedRoseNotAgedBrieNotSulfuras.java new file mode 100644 index 00000000..1f37e7e5 --- /dev/null +++ b/Java/src/main/java/com/gildedrose/GildedRoseNotAgedBrieNotSulfuras.java @@ -0,0 +1,26 @@ +package com.gildedrose; + +class GildedRoseNotAgedBrieNotSulfuras extends GildedRoseAbstract { + + public GildedRoseNotAgedBrieNotSulfuras(Item[] itemsList) { + this.super(itemsList); + } + + public void updateQuality() { + for (Item itemValue : itemsList) { + if (itemValue.sellIn < 0) { + if (!itemValue.name.equals(AGED_BRIE)) { + if (!itemValue.name.equals(BACKSTAGE_PASSES) + && (itemValue.quality > 0 + && !itemValue.name.equals(SULFURAS))) { + itemValue.quality --; + } else { + itemValue.quality -= itemValue.quality; + } + } else if (itemValue.quality < 50) { + itemValue.quality ++; + } + } + } + } +} diff --git a/Java/src/main/java/com/gildedrose/GildedRoseSulfuras.java b/Java/src/main/java/com/gildedrose/GildedRoseSulfuras.java new file mode 100644 index 00000000..735cfd88 --- /dev/null +++ b/Java/src/main/java/com/gildedrose/GildedRoseSulfuras.java @@ -0,0 +1,16 @@ +package com.gildedrose; + +class GildedRoseSulfuras extends GildedRoseAbstract { + + public GildedRoseSulfuras(Item[] itemsList) { + this.super(itemsList); + } + + public void updateQuality() { + for (Item itemValue : itemsList) { + if (!itemValue.name.equals(SULFURAS)) { + itemValue.sellIn --; + } + } + } +}