1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package io.github.tonywasher.joceanus.moneywise.tax;
18
19 import io.github.tonywasher.joceanus.metis.data.MetisDataItem.MetisDataFieldId;
20 import io.github.tonywasher.joceanus.oceanus.resource.OceanusBundleId;
21 import io.github.tonywasher.joceanus.oceanus.resource.OceanusBundleLoader;
22
23 import java.util.ResourceBundle;
24
25
26
27
28 public enum MoneyWiseTaxResource
29 implements OceanusBundleId, MetisDataFieldId {
30
31
32
33 ALLOWANCE_BASIC("Allowance.Basic"),
34
35
36
37
38 ALLOWANCE_RENTAL("Allowance.Rental"),
39
40
41
42
43 ALLOWANCE_CAPITAL("Allowance.Capital"),
44
45
46
47
48 ALLOWANCE_SAVINGS("Allowance.Savings"),
49
50
51
52
53 ALLOWANCE_DIVIDEND("Allowance.Dividend"),
54
55
56
57
58 ALLOWANCE_LOAGE("Allowance.LoAge"),
59
60
61
62
63 ALLOWANCE_HIAGE("Allowance.HiAge"),
64
65
66
67
68 LIMIT_AGEALLOWANCE("Limit.AgeAllowance"),
69
70
71
72
73 LIMIT_ADDALLOWANCE("Limit.AdditionalAllowance"),
74
75
76
77
78 SCHEME_BASE_RATE("Scheme.BaseRate"),
79
80
81
82
83 SCHEME_HIGH_RATE("Scheme.HighRate"),
84
85
86
87
88 SCHEME_ADDITIONAL_RATE("Scheme.AdditionalRate"),
89
90
91
92
93 SCHEME_RESIDENTIAL("Scheme.Residential"),
94
95
96
97
98 SCHEME_RELIEF_AVAILABLE("Scheme.ReliefAvailable"),
99
100
101
102
103 TAXBANDS_STANDARD("TaxBands.Standard"),
104
105
106
107
108 TAXBANDS_LOSAVINGS("TaxBands.LoSavings"),
109
110
111
112
113 TAXBANDS_AMOUNT("TaxBands.Amount"),
114
115
116
117
118 TAXBANDS_RATE("TaxBands.Rate"),
119
120
121
122
123 TAXBANDS_INCOME("TaxBands.Income"),
124
125
126
127
128 TAXBANDS_TAXDUE("TaxBands.TaxDue"),
129
130
131
132
133 TAXBANDS_HASLOTAXBAND("TaxBands.hasLoTaxBand"),
134
135
136
137
138 TAXYEAR_NAME("TaxYear.Name"),
139
140
141
142
143 TAXYEAR_END("TaxYear.End"),
144
145
146
147
148 TAXYEAR_ALLOWANCES("TaxYear.Allowances"),
149
150
151
152
153 TAXYEAR_BANDS("TaxYear.Bands"),
154
155
156
157
158 TAXYEAR_INTEREST("TaxYear.Interest"),
159
160
161
162
163 TAXYEAR_DIVIDEND("TaxYear.Dividend"),
164
165
166
167
168 TAXYEAR_CAPITAL("TaxYear.Capital"),
169
170
171
172
173 TAXYEAR_PROFIT("TaxYear.Profit"),
174
175
176
177
178 TAXCONFIG_NAME("TaxConfig.Name"),
179
180
181
182
183 TAXCONFIG_GROSS("TaxConfig.GrossTaxable"),
184
185
186
187
188 TAXCONFIG_PRESAVINGS("TaxConfig.GrossPreSavings"),
189
190
191
192
193 TAXCONFIG_BIRTHDAY("TaxConfig.Birthday"),
194
195
196
197
198 TAXCONFIG_AGE("TaxConfig.Age"),
199
200
201
202
203 TAXCONFIG_AGEALLOWANCE("TaxConfig.AgeAllowances"),
204
205
206
207
208 TAXANALYSIS_TAXBUCKETS("TaxAnalysis.TaxBuckets"),
209
210
211
212
213 TAXANALYSIS_TAXPROFIT("TaxAnalysis.TaxProfit"),
214
215
216
217
218 TAXPREF_NAME("preference.display"),
219
220
221
222
223 TAXPREF_BIRTH("preference.birth"),
224
225
226
227
228 MARGINAL_REDUCTION("Marginal.Name"),
229
230
231
232
233 MARGINAL_ONEINTWO("Marginal.OneInTwo"),
234
235
236
237
238 MARGINAL_TWOINTHREE("Marginal.TwoInThree"),
239
240
241
242
243 CASHTYPE_LARGE("CashType.Large"),
244
245
246
247
248 CASHTYPE_SMALL("CashType.Small"),
249
250
251
252
253 CHARGEABLEGAIN_GAIN("ChargeableGain.Gain"),
254
255
256
257
258 CHARGEABLEGAIN_SLICE("ChargeableGain.Slice"),
259
260
261
262
263 CHARGEABLEGAIN_TOTALGAINS("ChargeableGain.TotalGains"),
264
265
266
267
268 CHARGEABLEGAIN_TOTALSLICES("ChargeableGain.TotalSlices"),
269
270
271
272
273 CHARGEABLEGAIN_RATIO("ChargeableGain.Ratio"),
274
275
276
277
278 CHARGEABLEGAIN_TAXEDSLICES("ChargeableGain.TaxedSlices"),
279
280
281
282
283 CHARGEABLEGAIN_NETTTAXDUE("ChargeableGain.NettTaxDue"),
284
285
286
287
288 CHARGEABLEGAIN_TAXRELIEF("ChargeableGain.TaxRelief");
289
290
291
292
293 private static final OceanusBundleLoader LOADER = OceanusBundleLoader.getLoader(MoneyWiseTaxResource.class.getCanonicalName(),
294 ResourceBundle::getBundle);
295
296
297
298
299 private final String theKeyName;
300
301
302
303
304 private String theValue;
305
306
307
308
309
310
311 MoneyWiseTaxResource(final String pKeyName) {
312 theKeyName = pKeyName;
313 }
314
315 @Override
316 public String getKeyName() {
317 return theKeyName;
318 }
319
320 @Override
321 public String getNameSpace() {
322 return "MoneyWise.tax";
323 }
324
325 @Override
326 public String getValue() {
327
328 if (theValue == null) {
329
330 theValue = LOADER.getValue(this);
331 }
332
333
334 return theValue;
335 }
336
337 @Override
338 public String getId() {
339 return getValue();
340 }
341 }