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