1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package io.github.tonywasher.joceanus.moneywise.atlas.data.analysis.buckets;
18
19 import io.github.tonywasher.joceanus.oceanus.resource.OceanusBundleId;
20 import io.github.tonywasher.joceanus.oceanus.resource.OceanusBundleLoader;
21 import io.github.tonywasher.joceanus.metis.data.MetisDataItem.MetisDataFieldId;
22 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWiseBasicResource;
23 import io.github.tonywasher.joceanus.moneywise.data.statics.MoneyWiseStaticResource;
24
25 import java.util.EnumMap;
26 import java.util.Map;
27 import java.util.ResourceBundle;
28
29
30
31
32 public enum MoneyWiseXAnalysisBucketResource
33 implements OceanusBundleId, MetisDataFieldId {
34
35
36
37 ANALYSIS_NAME("Analysis.Name"),
38
39
40
41
42 ANALYSIS_ANALYSER("Analysis.Analyser"),
43
44
45
46
47 ANALYSIS_MANAGER("Analysis.Manager"),
48
49
50
51
52 ANALYSIS_CHARGES("Analysis.Charges"),
53
54
55
56
57 ANALYSIS_DILUTIONS("Analysis.Dilutions"),
58
59
60
61
62 ANALYSIS_TOTALS("Analysis.Totals"),
63
64
65
66
67 BUCKET_ACCOUNT("Bucket.Account"),
68
69
70
71
72 BUCKET_BASEVALUES("Bucket.BaseValues"),
73
74
75
76
77 BUCKET_HISTORY("Bucket.History"),
78
79
80
81
82 BUCKET_SNAPSHOT("Bucket.SnapShot"),
83
84
85
86
87 BUCKET_VALUES("Bucket.Values"),
88
89
90
91
92 BUCKET_PREVIOUS("Bucket.Previous"),
93
94
95
96
97 FILTER_ALL("Filter.All"),
98
99
100
101
102 TRANSTAG_NAME("TransTag.Name"),
103
104
105
106
107 TRANSTAG_LIST("TransTag.List"),
108
109
110
111
112 CASH_NAME("Cash.Name"),
113
114
115
116
117 CASH_LIST("Cash.List"),
118
119
120
121
122 CASHCATEGORY_NAME("CashCategory.Name"),
123
124
125
126
127 CASHCATEGORY_LIST("CashCategory.List"),
128
129
130
131
132 DEPOSIT_NAME("Deposit.Name"),
133
134
135
136
137 DEPOSIT_LIST("Deposit.List"),
138
139
140
141
142 DEPOSITCATEGORY_NAME("DepositCategory.Name"),
143
144
145
146
147 DEPOSITCATEGORY_LIST("DepositCategory.List"),
148
149
150
151
152 LOAN_NAME("Loan.Name"),
153
154
155
156
157 LOAN_LIST("Loan.List"),
158
159
160
161
162 LOAN_CREDITCARD("Loan.isCreditCard"),
163
164
165
166
167 LOANCATEGORY_NAME("LoanCategory.Name"),
168
169
170
171
172 LOANCATEGORY_LIST("LoanCategory.List"),
173
174
175
176
177 TRANSCATEGORY_NAME("TransCategory.Name"),
178
179
180
181
182 TRANSCATEGORY_LIST("TransCategory.List"),
183
184
185
186
187 PAYEE_NAME("Payee.Name"),
188
189
190
191
192 PAYEE_LIST("Payee.List"),
193
194
195
196
197 PORTFOLIO_NAME("Portfolio.Name"),
198
199
200
201
202 PORTFOLIO_LIST("Portfolio.List"),
203
204
205
206
207 PORTFOLIOCASH_NAME("Portfolio.Cash.Name"),
208
209
210
211
212 SECURITY_NAME("Security.Name"),
213
214
215
216
217 SECURITY_LIST("Security.List"),
218
219
220
221
222 TAXBASIS_NAME("TaxBasis.Name"),
223
224
225
226
227 TAXBASIS_LIST("TaxBasis.List"),
228
229
230
231
232 TAXBASIS_ACCOUNTNAME("TaxBasis.AccountName"),
233
234
235
236
237 TAXBASIS_ACCOUNTLIST("TaxBasis.AccountList"),
238
239
240
241
242 DILUTION_NAME("Dilution.Name"),
243
244
245
246
247 DILUTION_LIST("Dilution.List"),
248
249
250
251
252 CHARGE_NAME("Charge.Name"),
253
254
255
256
257 CHARGE_LIST("Charge.List"),
258
259
260
261
262 CHARGE_SLICE("Charge.Slice"),
263
264
265
266
267 CHARGE_TAX("Charge.Tax"),
268
269
270
271
272 TAX_CALCULATION("Tax.Calculation"),
273
274
275
276
277 TAX_YEARS("Tax.Years");
278
279
280
281
282 private static final Map<MoneyWiseXAnalysisType, OceanusBundleId> ANALYSIS_MAP = buildAnalysisMap();
283
284
285
286
287 private static final OceanusBundleLoader LOADER = OceanusBundleLoader.getLoader(MoneyWiseXAnalysisBucketResource.class.getCanonicalName(),
288 ResourceBundle::getBundle);
289
290
291
292
293 private final String theKeyName;
294
295
296
297
298 private String theValue;
299
300
301
302
303
304
305 MoneyWiseXAnalysisBucketResource(final String pKeyName) {
306 theKeyName = pKeyName;
307 }
308
309 @Override
310 public String getKeyName() {
311 return theKeyName;
312 }
313
314 @Override
315 public String getNameSpace() {
316 return "MoneyWise.analysis";
317 }
318
319 @Override
320 public String getValue() {
321
322 if (theValue == null) {
323
324 theValue = LOADER.getValue(this);
325 }
326
327
328 return theValue;
329 }
330
331 @Override
332 public String getId() {
333 return getValue();
334 }
335
336
337
338
339
340
341 private static Map<MoneyWiseXAnalysisType, OceanusBundleId> buildAnalysisMap() {
342
343 final Map<MoneyWiseXAnalysisType, OceanusBundleId> myMap = new EnumMap<>(MoneyWiseXAnalysisType.class);
344 myMap.put(MoneyWiseXAnalysisType.DEPOSIT, MoneyWiseBasicResource.DEPOSIT_NAME);
345 myMap.put(MoneyWiseXAnalysisType.CASH, MoneyWiseBasicResource.CASH_NAME);
346 myMap.put(MoneyWiseXAnalysisType.LOAN, MoneyWiseBasicResource.LOAN_NAME);
347 myMap.put(MoneyWiseXAnalysisType.PAYEE, MoneyWiseBasicResource.PAYEE_NAME);
348 myMap.put(MoneyWiseXAnalysisType.SECURITY, MoneyWiseBasicResource.SECURITY_NAME);
349 myMap.put(MoneyWiseXAnalysisType.PORTFOLIO, MoneyWiseBasicResource.PORTFOLIO_NAME);
350 myMap.put(MoneyWiseXAnalysisType.CATEGORY, MoneyWiseBasicResource.TRANSCAT_NAME);
351 myMap.put(MoneyWiseXAnalysisType.TAXBASIS, MoneyWiseStaticResource.TAXBASIS_NAME);
352 myMap.put(MoneyWiseXAnalysisType.TRANSTAG, MoneyWiseBasicResource.TRANSTAG_NAME);
353 myMap.put(MoneyWiseXAnalysisType.ALL, FILTER_ALL);
354 return myMap;
355 }
356
357
358
359
360
361
362
363 static OceanusBundleId getKeyForAnalysisType(final MoneyWiseXAnalysisType pValue) {
364 return OceanusBundleLoader.getKeyForEnum(ANALYSIS_MAP, pValue);
365 }
366 }