package com.liato.bankdroid.api.domain.account;
import org.joda.time.DateTime;
import java.math.BigDecimal;
/**
* Represents a single transaction.
*/
public interface Transaction {
/**
* Returns the transaction amount.
* @return the transaction amount.
*/
BigDecimal getAmount();
/**
* Returns the currency for the transaction, conforming to ISO 4217 when possible.
* @return the transaction currency.
*/
String getCurrency();
/**
* Returns a short description of the transaction.
* @return the transaction description.
*/
String getDescription();
/**
* Returns the date when the transaction was initiated.
* @return the transaction date.
*/
DateTime getTransactionDate();
/**
* Returns {@code true} if, and only if, the transaction is still pending.
* @return {@code true} if the transaction is pending, otherwise {@code false}.
*/
boolean isPending();
}