Inventory.java 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import java.util.List;
  2. import java.util.Arrays;
  3. public class Inventory {
  4. private Item[] items;
  5. public Inventory(Item[] items) {
  6. super();
  7. this.items = items;
  8. }
  9. public void updateQuality() {
  10. for (Item item: items) {
  11. if (item.getName().equals("Aged Brie")) {
  12. setAgedBrie(item);
  13. } else if(isNotLegenday(item)) {
  14. setNoneLegendary(item);
  15. }
  16. }
  17. }
  18. private boolean isNotLegenday(Item item){
  19. List<String> legendayItem = Arrays.asList
  20. ("Sulfuras, Hand of Ragnaros");
  21. return legendayItem.contains(item.getName()) ? false : true;
  22. }
  23. private void setAgedBrie(Item item){
  24. if (item.getQuality() < 50) {
  25. item.setQuality(item.getQuality() + 1);
  26. }
  27. if (item.getSellIn() < 0 && item.getQuality() < 50) {
  28. item.setQuality(item.getQuality() + 1);
  29. }
  30. }
  31. private void setNoneLegendary(Item item){
  32. if (item.getQuality() > 0) {
  33. item.setQuality(item.getQuality() - 1);
  34. }
  35. if (item.getSellIn() < 0) {
  36. item.setQuality(item.getQuality() - 1);
  37. }
  38. item.setSellIn(item.getSellIn() - 1);
  39. }
  40. }