package lk.ac.pdn.ceit.pos; import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import lk.ac.pdn.ceit.pos.entities.Item; public class ItemManagerImpl implements ItemManager { // For this demo. let's hold Items in memory. private Map items = new HashMap<>(); public ItemManagerImpl() { // For demo purposes, let's create some items (to be availalbe in system db) createItem("F001", "Red Lentil (Dhal)", new BigDecimal("250.00")); createItem("F002", "Sugar", new BigDecimal("270.00")); createItem("S001", "Beauty Soap", new BigDecimal("165.00")); } @Override public Item createItem(String id, String name, BigDecimal unitPrice) { Item item = new Item(id, name, unitPrice); items.put(id, item); return item; } @Override public Item findById(String id) { return items.get(id); } @Override public List searchItems(String q) { List results = new ArrayList<>(); for (Item item : items.values()) { if (item.getName().toLowerCase().contains(q.toLowerCase())) { results.add(item); } } return results; } }