mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-21 01:11:08 +00:00
Add base class for item behavior
The class takes quality and sellIn behavior implementations as constructor parameters
This commit is contained in:
parent
05a3cf148a
commit
7435c53775
@ -0,0 +1,26 @@
|
|||||||
|
package com.gildedrose.behavior.item;
|
||||||
|
|
||||||
|
import com.gildedrose.Item;
|
||||||
|
import com.gildedrose.behavior.quality.QualityBehavior;
|
||||||
|
import com.gildedrose.behavior.sellin.SellInBehavior;
|
||||||
|
|
||||||
|
public class ItemBehaviorImpl implements ItemBehavior {
|
||||||
|
|
||||||
|
private final QualityBehavior qualityBehavior;
|
||||||
|
private final SellInBehavior sellInBehavior;
|
||||||
|
|
||||||
|
private ItemBehaviorImpl(QualityBehavior qualityBehavior, SellInBehavior sellInBehavior) {
|
||||||
|
this.qualityBehavior = qualityBehavior;
|
||||||
|
this.sellInBehavior = sellInBehavior;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemBehaviorImpl of(QualityBehavior qualityBehavior, SellInBehavior sellInBehavior) {
|
||||||
|
return new ItemBehaviorImpl(qualityBehavior, sellInBehavior);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void processUpdate(Item item) {
|
||||||
|
qualityBehavior.processQualityUpdate(item);
|
||||||
|
sellInBehavior.processSellInUpdate(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user