crate::ix!();
pub trait AccountAnalysisInterface<TxCat:TransactionCategory>
: ShowAccountSummary
+ ShowHistogram
+ ShowAccountBursts
+ ShowMonthlySummary
+ ShowBusinessTransactions<TxCat>
+ ShowMedicalAndInsuranceExpenditures<TxCat>
+ ShowTreasuryTransactionsAndChecks<TxCat>
+ ShowCategoryMap<TxCat>
+ ShowCategorizedDebug<TxCat>
+ ShowCategorizedShort<TxCat>
+ ShowQuarterlySummary
{
fn analyze(&self, analysis: &AccountAnalysis<TxCat>)
-> Result<(),AccountError>;
}
pub trait ShowAccountSummary {
fn show_account_summary(&self);
}
pub trait ShowHistogram {
type DisplayStrategy;
fn show_histogram(&self, display_strategy: &Self::DisplayStrategy);
}
pub trait ShowAccountBursts {
fn show_account_bursts(&self);
}
pub trait ShowMonthlySummary {
fn show_monthly_summary(&self);
}
pub trait ShowBusinessTransactions<TxCat:TransactionCategory> {
fn show_business_transactions(&self, category_map: &CategoryMap<TxCat>);
}
pub trait ShowMedicalAndInsuranceExpenditures<TxCat:TransactionCategory> {
fn show_medical_and_insurance_expenditures(&self, category_map: &CategoryMap<TxCat>);
}
pub trait ShowTreasuryTransactionsAndChecks<TxCat:TransactionCategory> {
fn show_treasury_transactions_and_checks(&self, category_map: &CategoryMap<TxCat>);
}
pub trait ShowCategoryMap<TxCat:TransactionCategory> {
fn show_category_map(&self,category_map: &CategoryMap<TxCat>);
}
pub trait ShowCategorizedDebug<TxCat:TransactionCategory> {
fn show_categorized_debug(&self, category_map: &CategoryMap<TxCat>);
}
pub trait ShowCategorizedShort<TxCat:TransactionCategory> {
fn show_categorized_short(&self, category_map: &CategoryMap<TxCat>);
}
pub trait ShowQuarterlySummary {
fn show_quarterly_summary(&self);
}