36 lines
737 B
Java
36 lines
737 B
Java
package dev.banking.model;
|
|
|
|
/**
|
|
* Represents a withdrawal operation.
|
|
*/
|
|
public final class WithdrawTransaction extends Transaction {
|
|
|
|
private final int accountId;
|
|
|
|
public WithdrawTransaction(
|
|
int accountId,
|
|
int amount
|
|
) {
|
|
super(amount);
|
|
|
|
if (accountId < 0) {
|
|
throw new IllegalArgumentException(
|
|
"Invalid account id."
|
|
);
|
|
}
|
|
|
|
this.accountId = accountId;
|
|
}
|
|
|
|
public int getAccountId() {
|
|
return accountId;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "WithdrawTransaction{" +
|
|
"accountId=" + accountId +
|
|
", amount=" + getAmount() +
|
|
'}';
|
|
}
|
|
} |