mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-18 16:01:42 +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