-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDepositTransaction.java
More file actions
31 lines (26 loc) · 1.1 KB
/
Copy pathDepositTransaction.java
File metadata and controls
31 lines (26 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.transactions.transactions;
import com.transactions.exceptions.InsufficientFundsException;
import com.transactions.models.BankAccount;
import java.util.Calendar;
public class DepositTransaction extends BaseTransaction {
public DepositTransaction(double amount, Calendar date) {
super(amount, date);
}
@Override
public void printTransactionDetails() {
System.out.println("--- Deposit Transaction ---");
System.out.println("Transaction ID: " + getTransactionID());
System.out.println("Amount: " + getAmount());
System.out.println("Date: " + getDate().getTime());
System.out.println("Type: DEPOSIT (irreversible)");
}
@Override
public void apply(BankAccount ba) throws InsufficientFundsException {
double balanceBefore = ba.getBalance();
ba.credit(getAmount());
System.out.println("Deposit applied to account: " + ba.getAccountHolder());
System.out.println("Balance before: " + balanceBefore);
System.out.println("Balance after: " + ba.getBalance());
printTransactionDetails();
}
}