package org.javamoney.examples.jaxrs.bank;
import java.util.List;
import javax.money.MonetaryAmount;
import org.javamoney.examples.jaxrs.model.BankAccount;
public interface FinancialActions {
/**
* insert money from bank account.
* @param account a bank account
* @return the result of operation in the specific currency.
*/
MonetaryAmount deposit(BankAccount account);
/**
* Remove money from bank account.
* @param account a bank account
* @return the result of operation in the specific currency.
*/
MonetaryAmount withDraw(BankAccount account);
/**
* Show all money and currencies in this count.
* @param account - the bank account
* @return all currency available to this bank account
*/
List<MonetaryAmount> all(BankAccount account);
/**
* show history of a user between a period.
* @param account - account bank and begin and end should not be null
* @return the historic bank account
*/
List<HistoryBankAccount> extract(BankAccount account);
}