Files
SoftwareEngineeringCourse-Java/src/lab13_proxy/ex2/Bank.java
2024-11-11 10:33:59 +01:00

53 lines
1.8 KiB
Java

package lab13_proxy.ex2;
import java.util.ArrayList;
public class Bank {
private final ArrayList<String> blacklistedClients = new ArrayList<>();
public void blacklist(String client) {
blacklistedClients.add(client);
}
public boolean isBlacklisted(String client) {
return blacklistedClients.contains(client);
}
public void deposit(String client, Account account, int amount) {
if (amount < 0) {
System.out.println("Cannot deposit a negative amount");
return;
}
if (isBlacklisted(client)) {
System.out.println(client + " is on a blacklist and does not have the right to DEPOSIT money into " + account);
return;
}
account.deposit(amount);
System.out.println(client + " has deposited " + amount + " on " + account + ". New balance is " + account.getBalance());
}
public void withdraw(String client, Account account, int amount) {
if (amount < 0) {
System.out.println("Cannot withdraw a negative amount");
return;
}
if (isBlacklisted(client)) {
System.out.println(client + " is on a blacklist and does not have the right to WITHDRAW money from " + account);
return;
}
if (!account.getOwner().equals(client)) {
System.out.println(client + " cannot WITHDRAW money from " + account + " because they are not the owner");
return;
}
if (account.getBalance() < amount) {
System.out.println(client + " cannot WITHDRAW money from " + account + " because there is not enough money on the account.");
return;
}
account.withdraw(amount);
System.out.println(client + " has withdrawn " + amount + " from " + account + ". New balance is " + account.getBalance());
}
}