1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package io.github.tonywasher.joceanus.moneywise.sheets;
18
19 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWiseBasicDataType;
20 import io.github.tonywasher.joceanus.moneywise.data.statics.MoneyWiseStaticDataType;
21 import io.github.tonywasher.joceanus.prometheus.security.PrometheusSecurityPasswordManager;
22 import io.github.tonywasher.joceanus.prometheus.sheets.PrometheusSheetDataItem;
23 import io.github.tonywasher.joceanus.prometheus.sheets.PrometheusSheetReader;
24 import io.github.tonywasher.joceanus.tethys.api.factory.TethysUIFactory;
25 import io.github.tonywasher.joceanus.tethys.api.thread.TethysUIThreadStatusReport;
26
27
28
29
30
31
32 public class MoneyWiseReader
33 extends PrometheusSheetReader {
34
35
36
37
38
39
40
41 public MoneyWiseReader(final TethysUIFactory<?> pFactory,
42 final TethysUIThreadStatusReport pReport,
43 final PrometheusSecurityPasswordManager pPasswordMgr) {
44
45 super(pFactory, pReport, pPasswordMgr);
46 }
47
48
49
50
51 @Override
52 protected void registerSheets() {
53
54 for (MoneyWiseStaticDataType myType : MoneyWiseStaticDataType.values()) {
55
56 addSheet(newSheet(myType));
57 }
58
59
60 for (MoneyWiseBasicDataType myType : MoneyWiseBasicDataType.values()) {
61
62 addSheet(newSheet(myType));
63 }
64 }
65
66
67
68
69
70
71
72 private PrometheusSheetDataItem<?> newSheet(final MoneyWiseStaticDataType pDataType) {
73
74 switch (pDataType) {
75 case DEPOSITTYPE:
76 return new MoneyWiseSheetDepositCategoryType(this);
77 case CASHTYPE:
78 return new MoneyWiseSheetCashCategoryType(this);
79 case LOANTYPE:
80 return new MoneyWiseSheetLoanCategoryType(this);
81 case PORTFOLIOTYPE:
82 return new MoneyWiseSheetPortfolioType(this);
83 case PAYEETYPE:
84 return new MoneyWiseSheetPayeeType(this);
85 case SECURITYTYPE:
86 return new MoneyWiseSheetSecurityType(this);
87 case TRANSTYPE:
88 return new MoneyWiseSheetTransCategoryType(this);
89 case ACCOUNTINFOTYPE:
90 return new MoneyWiseSheetAccountInfoType(this);
91 case TRANSINFOTYPE:
92 return new MoneyWiseSheetTransInfoType(this);
93 case CURRENCY:
94 return new MoneyWiseSheetCurrency(this);
95 case TAXBASIS:
96 return new MoneyWiseSheetTaxBasis(this);
97 default:
98 throw new IllegalArgumentException(pDataType.toString());
99 }
100 }
101
102
103
104
105
106
107
108 private PrometheusSheetDataItem<?> newSheet(final MoneyWiseBasicDataType pDataType) {
109
110 switch (pDataType) {
111 case TRANSTAG:
112 return new MoneyWiseSheetTransTag(this);
113 case REGION:
114 return new MoneyWiseSheetRegion(this);
115 case DEPOSITCATEGORY:
116 return new MoneyWiseSheetDepositCategory(this);
117 case CASHCATEGORY:
118 return new MoneyWiseSheetCashCategory(this);
119 case LOANCATEGORY:
120 return new MoneyWiseSheetLoanCategory(this);
121 case TRANSCATEGORY:
122 return new MoneyWiseSheetTransCategory(this);
123 case EXCHANGERATE:
124 return new MoneyWiseSheetExchangeRate(this);
125 case PAYEE:
126 return new MoneyWiseSheetPayee(this);
127 case PAYEEINFO:
128 return new MoneyWiseSheetPayeeInfo(this);
129 case SECURITY:
130 return new MoneyWiseSheetSecurity(this);
131 case SECURITYPRICE:
132 return new MoneyWiseSheetSecurityPrice(this);
133 case SECURITYINFO:
134 return new MoneyWiseSheetSecurityInfo(this);
135 case DEPOSIT:
136 return new MoneyWiseSheetDeposit(this);
137 case DEPOSITRATE:
138 return new MoneyWiseSheetDepositRate(this);
139 case DEPOSITINFO:
140 return new MoneyWiseSheetDepositInfo(this);
141 case CASH:
142 return new MoneyWiseSheetCash(this);
143 case CASHINFO:
144 return new MoneyWiseSheetCashInfo(this);
145 case LOAN:
146 return new MoneyWiseSheetLoan(this);
147 case LOANINFO:
148 return new MoneyWiseSheetLoanInfo(this);
149 case PORTFOLIO:
150 return new MoneyWiseSheetPortfolio(this);
151 case PORTFOLIOINFO:
152 return new MoneyWiseSheetPortfolioInfo(this);
153 case TRANSACTION:
154 return new MoneyWiseSheetTransaction(this);
155 case TRANSACTIONINFO:
156 return new MoneyWiseSheetTransInfo(this);
157 default:
158 throw new IllegalArgumentException(pDataType.toString());
159 }
160 }
161 }