From ee94d753a9f87d0b46b3aad3d3cf855056562ad2 Mon Sep 17 00:00:00 2001 From: Kamal Wickramanayake Date: Sun, 15 Mar 2026 16:33:18 +0530 Subject: Additional classes related to POS. --- .../ac/pdn/ceit/pos/item/InMemoryItemManager.java | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/item/InMemoryItemManager.java (limited to 'oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/item') diff --git a/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/item/InMemoryItemManager.java b/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/item/InMemoryItemManager.java new file mode 100644 index 0000000..00bc835 --- /dev/null +++ b/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/item/InMemoryItemManager.java @@ -0,0 +1,43 @@ +package lk.ac.pdn.ceit.pos.item; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import lk.ac.pdn.ceit.pos.entities.Item; + +public class InMemoryItemManager implements ItemManager { + + // Assume this is the item storage + private Map items = new HashMap<>(); + + // Initial set of data for demo purposes + public InMemoryItemManager() { + this.create("Dhal", "F001", 300.00); + this.create("Bread", "F002", 180.00); + this.create("Sunlight Soap", "S001", 150.00); + } + + @Override + public Item findById(String id) { + return items.get(id); + } + + @Override + public List searchByName(String word) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'searchByName'"); + } + + @Override + public Item create(String name, String id, double unitPrice) { + // Create a new Item + Item item = new Item(name, id, unitPrice); + + // Add to storage + items.put(id, item); + + return item; + } + +} -- cgit v1.2.3