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.MoneyWiseBasicResource;
20 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWiseDataSet;
21 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWiseExchangeRate;
22 import io.github.tonywasher.joceanus.oceanus.base.OceanusException;
23 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataValues;
24 import io.github.tonywasher.joceanus.prometheus.sheets.PrometheusSheetDataItem;
25 import io.github.tonywasher.joceanus.prometheus.sheets.PrometheusSheetReader;
26 import io.github.tonywasher.joceanus.prometheus.sheets.PrometheusSheetWriter;
27
28
29
30
31
32
33 public final class MoneyWiseSheetExchangeRate
34 extends PrometheusSheetDataItem<MoneyWiseExchangeRate> {
35
36
37
38 private static final String AREA_XCHGRATES = MoneyWiseExchangeRate.LIST_NAME;
39
40
41
42
43 private static final int COL_DATE = COL_ID + 1;
44
45
46
47
48 private static final int COL_FROM = COL_DATE + 1;
49
50
51
52
53 private static final int COL_TO = COL_FROM + 1;
54
55
56
57
58 private static final int COL_RATE = COL_TO + 1;
59
60
61
62
63
64
65 MoneyWiseSheetExchangeRate(final PrometheusSheetReader pReader) {
66
67 super(pReader, AREA_XCHGRATES);
68
69
70 final MoneyWiseDataSet myData = (MoneyWiseDataSet) pReader.getData();
71 setDataList(myData.getExchangeRates());
72 }
73
74
75
76
77
78
79 MoneyWiseSheetExchangeRate(final PrometheusSheetWriter pWriter) {
80
81 super(pWriter, AREA_XCHGRATES);
82
83
84 final MoneyWiseDataSet myData = (MoneyWiseDataSet) pWriter.getData();
85 setDataList(myData.getExchangeRates());
86 }
87
88 @Override
89 protected PrometheusDataValues loadSecureValues() throws OceanusException {
90
91 final PrometheusDataValues myValues = getRowValues(MoneyWiseExchangeRate.OBJECT_NAME);
92 myValues.addValue(MoneyWiseBasicResource.MONEYWISEDATA_FIELD_DATE, loadDate(COL_DATE));
93 myValues.addValue(MoneyWiseBasicResource.XCHGRATE_FROM, loadInteger(COL_FROM));
94 myValues.addValue(MoneyWiseBasicResource.XCHGRATE_TO, loadInteger(COL_TO));
95 myValues.addValue(MoneyWiseBasicResource.XCHGRATE_RATE, loadRatio(COL_RATE));
96
97
98 return myValues;
99 }
100
101 @Override
102 protected void insertSecureItem(final MoneyWiseExchangeRate pItem) throws OceanusException {
103
104 super.insertSecureItem(pItem);
105 writeInteger(COL_FROM, pItem.getFromCurrencyId());
106 writeInteger(COL_TO, pItem.getToCurrencyId());
107 writeDate(COL_DATE, pItem.getDate());
108 writeDecimal(COL_RATE, pItem.getExchangeRate());
109 }
110
111 @Override
112 protected int getLastColumn() {
113
114 return COL_RATE;
115 }
116 }