tktax_analysis/
analysis_interface.rs

1// ---------------- [ File: tktax-analysis/src/analysis_interface.rs ]
2crate::ix!();
3
4pub trait AccountAnalysisInterface<TxCat:TransactionCategory>
5: ShowAccountSummary
6+ ShowHistogram
7+ ShowAccountBursts
8+ ShowMonthlySummary
9+ ShowBusinessTransactions<TxCat>
10+ ShowMedicalAndInsuranceExpenditures<TxCat>
11+ ShowTreasuryTransactionsAndChecks<TxCat>
12+ ShowCategoryMap<TxCat>
13+ ShowCategorizedDebug<TxCat>
14+ ShowCategorizedShort<TxCat>
15+ ShowQuarterlySummary
16{
17    fn analyze(&self, analysis: &AccountAnalysis<TxCat>) 
18        -> Result<(),AccountError>;
19}
20
21pub trait ShowAccountSummary { 
22    fn show_account_summary(&self); 
23}
24
25pub trait ShowHistogram {
26    type DisplayStrategy;
27    fn show_histogram(&self, display_strategy: &Self::DisplayStrategy); 
28}
29
30pub trait ShowAccountBursts {
31    fn show_account_bursts(&self);
32}
33
34pub trait ShowMonthlySummary {
35    fn show_monthly_summary(&self);
36}
37
38pub trait ShowBusinessTransactions<TxCat:TransactionCategory> {
39    fn show_business_transactions(&self, category_map: &CategoryMap<TxCat>);
40}
41
42pub trait ShowMedicalAndInsuranceExpenditures<TxCat:TransactionCategory> {
43    fn show_medical_and_insurance_expenditures(&self, category_map: &CategoryMap<TxCat>);
44}
45
46pub trait ShowTreasuryTransactionsAndChecks<TxCat:TransactionCategory> {
47    fn show_treasury_transactions_and_checks(&self, category_map: &CategoryMap<TxCat>);
48}
49
50pub trait ShowCategoryMap<TxCat:TransactionCategory> {
51    fn show_category_map(&self,category_map: &CategoryMap<TxCat>);
52}
53
54pub trait ShowCategorizedDebug<TxCat:TransactionCategory> {
55    fn show_categorized_debug(&self, category_map: &CategoryMap<TxCat>);
56}
57
58pub trait ShowCategorizedShort<TxCat:TransactionCategory> {
59    fn show_categorized_short(&self, category_map: &CategoryMap<TxCat>);
60}
61
62pub trait ShowQuarterlySummary {
63    fn show_quarterly_summary(&self);
64}