From 11d647bd802e014bc941ebda7889fe9978807478 Mon Sep 17 00:00:00 2001 From: Kamal Wickramanayake Date: Sun, 15 Mar 2026 15:41:09 +0530 Subject: Added Bill, PointOfSale, LineItem to OOP sample application --- .../src/lk/ac/pdn/ceit/pos/PointOfSale.java | 29 ++++++++++++++++++++++ .../src/lk/ac/pdn/ceit/pos/entities/Bill.java | 16 ++++++++++++ .../src/lk/ac/pdn/ceit/pos/entities/LineItem.java | 29 ++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/PointOfSale.java create mode 100644 oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/entities/Bill.java create mode 100644 oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/entities/LineItem.java (limited to 'oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos') diff --git a/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/PointOfSale.java b/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/PointOfSale.java new file mode 100644 index 0000000..990a635 --- /dev/null +++ b/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/PointOfSale.java @@ -0,0 +1,29 @@ +package lk.ac.pdn.ceit.pos; + +import lk.ac.pdn.ceit.pos.entities.Bill; +import lk.ac.pdn.ceit.pos.entities.Item; +import lk.ac.pdn.ceit.pos.entities.LineItem; +import lk.ac.pdn.ceit.pos.item.ItemManager; + +public class PointOfSale { + + private ItemManager itemManager; + + private Bill bill; + + public Bill createNewBill() { + bill = new Bill(); + return bill; + } + + public void addLineItem(String itemId, int quantity) { + // From the ItemManager, get the Item. + Item item = itemManager.findById(itemId); + + // Create a new LineItem and associate it with the item returned + LineItem lineItem = new LineItem(item, quantity); + + // Add the new LineItem to the bill + bill.getLineItems().add(lineItem); + } +} diff --git a/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/entities/Bill.java b/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/entities/Bill.java new file mode 100644 index 0000000..0c2ff5f --- /dev/null +++ b/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/entities/Bill.java @@ -0,0 +1,16 @@ +package lk.ac.pdn.ceit.pos.entities; + +import java.util.List; + +public class Bill { + private List lineItems; + + public List getLineItems() { + return lineItems; + } + + public void setLineItems(List lineItems) { + this.lineItems = lineItems; + } + +} diff --git a/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/entities/LineItem.java b/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/entities/LineItem.java new file mode 100644 index 0000000..ad6abaf --- /dev/null +++ b/oop/10-point-of-sale/src/lk/ac/pdn/ceit/pos/entities/LineItem.java @@ -0,0 +1,29 @@ +package lk.ac.pdn.ceit.pos.entities; + +public class LineItem { + private Item item; + private int quantity; + + public LineItem(Item item, int quantity) { + this.item = item; + this.quantity = quantity; + } + + public Item getItem() { + return item; + } + + public void setItem(Item item) { + this.item = item; + } + + public int getQuantity() { + return quantity; + } + + public void setQuantity(int quantity) { + this.quantity = quantity; + } + + +} -- cgit v1.2.3