package org.openbankdata.bank.sveadirekt;
import org.openbankdata.bank.sveadirekt.client.SveaDirektBankClient;
import org.openbankdata.bank.sveadirekt.service.SveaDirektAccountService;
import org.openbankdata.bank.sveadirekt.service.SveaDirektTransactionService;
import org.openbankdata.core.Bank;
import org.openbankdata.core.service.BankingService;
import org.openbankdata.core.service.DefaultBankingService;
import org.openbankdata.plugin.BankPlugin;
import java.util.Locale;
/**
* Plugin for SveaDirekt's Swedish bank.
*/
public class SveaDirektBankPlugin implements BankPlugin {
@Override
public Bank getBank() {
return new Bank("SveaDirekt", new Locale("sv", "SE"));
}
@Override
public BankingService createBankingService() {
DefaultBankingService banking = new DefaultBankingService();
SveaDirektBankClient bankClient = new SveaDirektBankClient();
banking.setBankClient(bankClient);
SveaDirektTransactionService transactionService = new SveaDirektTransactionService(bankClient);
banking.setTransactionService(transactionService);
SveaDirektAccountService accountService =
new SveaDirektAccountService(bankClient, transactionService);
banking.setAccountService(accountService);
return banking;
}
}