From 01edac7edf4154c77ffde449ebcb072c4995652e Mon Sep 17 00:00:00 2001 From: Kamal Wickramanayake Date: Sat, 14 Feb 2026 17:57:08 +0530 Subject: Java packaging sample code added. --- .../lk/ac/pdn/ceit/fullstack/AccountManager.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 java/09-packages/src/lk/ac/pdn/ceit/fullstack/AccountManager.java (limited to 'java/09-packages/src/lk/ac/pdn/ceit/fullstack/AccountManager.java') diff --git a/java/09-packages/src/lk/ac/pdn/ceit/fullstack/AccountManager.java b/java/09-packages/src/lk/ac/pdn/ceit/fullstack/AccountManager.java new file mode 100644 index 0000000..429e0e7 --- /dev/null +++ b/java/09-packages/src/lk/ac/pdn/ceit/fullstack/AccountManager.java @@ -0,0 +1,41 @@ +package lk.ac.pdn.ceit.fullstack; + +import java.util.HashMap; +import java.util.Map; + +public class AccountManager { + + private Map accounts = new HashMap<>(); + + /* + This is a called a constructor. It gets executed when an object of this class is + created. + */ + public AccountManager() { + // For testing, create some account objects. + // In a real systems, account data will be in a storage system like a database. + + Account account = new Account(1, 10.0); + accounts.put(account.getAccountNumber(), account); + + account = new Account(2, 20.0); + accounts.put(account.getAccountNumber(), account); + + account = new Account(3, 10.0); + accounts.put(account.getAccountNumber(), account); + } + + public void withdraw(int accountId, double amount) { + Account account = accounts.get(accountId); + account.setBalance(account.getBalance() - amount); + } + + public void deposit(int accountId, double amount) { + Account account = accounts.get(accountId); + account.setBalance(account.getBalance() + amount); + } + + public double getBalance(int accountId) { + return accounts.get(accountId).getBalance(); + } +} -- cgit v1.2.3