Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- public class TransferManager {
- private ArrayList<Transfer> openTransfers;
- private int issuedTransfers;
- private int performedTransfers;
- public TransferManager() {
- openTransfers = new ArrayList<Transfer>();
- issuedTransfers = 0;
- performedTransfers = 0;
- }
- public void issueTransfer(Account from, Account to, int amount) {
- openTransfers.add(new Transfer(from, to, amount));
- issuedTransfers++;
- }
- public void performTransfers() {
- for(Transfer transaction : openTransfers) {
- transaction.performTransfer();
- performedTransfers++;
- }
- openTransfers.clear();
- }
- @Override
- public String toString() {
- return "TransferManager (openTransfers: " + openTransfers.size() + "; issuedTransfers: " + issuedTransfers + "; performedTransfers: " + performedTransfers + ")";
- }
- private static class Transfer {
- private Account from, to;
- private int amount;
- public Transfer(Account from, Account to, int amount) {
- this.from = from;
- this.to = to;
- this.amount = amount;
- }
- public void performTransfer() {
- from.transfer(-amount);
- to.transfer(amount);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement