package com.liato.bankdroid.api.domain.account; import java.math.BigDecimal; import java.util.Map; /** * A parent interface for all account types. */ public interface Account { /** * Returns the account id. * @return Returns the account id. */ String getId(); /** * Returns the account's name. * @return the account name. */ String getName(); /** * Returns the total balance for the account. * @return The total balance for the account. */ BigDecimal getBalance(); /** * The ISO 4217 currency representation, when possible. * @return The main currency for the account. */ String getCurrency(); /** * Returns a collection of extra attributes that can be set on an account. * @return A collection of custom attributes, or an empty collection if no custom * attributes exist. */ Map<String, String> getCustomAttributes(); }