1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package io.github.tonywasher.joceanus.moneywise.database;
18
19 import io.github.tonywasher.joceanus.oceanus.base.OceanusException;
20 import io.github.tonywasher.joceanus.metis.data.MetisDataItem.MetisDataFieldId;
21 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWiseBasicResource;
22 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWiseDataSet;
23 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWiseDeposit;
24 import io.github.tonywasher.joceanus.moneywise.data.statics.MoneyWiseStaticDataType;
25 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataItem;
26 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataResource;
27 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataSet;
28 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataValues;
29 import io.github.tonywasher.joceanus.prometheus.database.PrometheusColumnDefinition;
30 import io.github.tonywasher.joceanus.prometheus.database.PrometheusDataStore;
31 import io.github.tonywasher.joceanus.prometheus.database.PrometheusTableDefinition;
32 import io.github.tonywasher.joceanus.prometheus.database.PrometheusTableDefinition.PrometheusSortOrder;
33 import io.github.tonywasher.joceanus.prometheus.database.PrometheusTableEncrypted;
34
35
36
37
38 public class MoneyWiseTableDeposit
39 extends PrometheusTableEncrypted<MoneyWiseDeposit> {
40
41
42
43 protected static final String TABLE_NAME = MoneyWiseDeposit.LIST_NAME;
44
45
46
47
48
49
50 protected MoneyWiseTableDeposit(final PrometheusDataStore pDatabase) {
51 super(pDatabase, TABLE_NAME);
52 final PrometheusTableDefinition myTableDef = getTableDef();
53
54
55 final PrometheusColumnDefinition myCatCol = myTableDef.addReferenceColumn(MoneyWiseBasicResource.CATEGORY_NAME, MoneyWiseTableDepositCategory.TABLE_NAME);
56 myTableDef.addReferenceColumn(MoneyWiseStaticDataType.CURRENCY, MoneyWiseTableCurrency.TABLE_NAME);
57 myTableDef.addReferenceColumn(MoneyWiseBasicResource.ASSET_PARENT, MoneyWiseTablePayee.TABLE_NAME);
58 myTableDef.addEncryptedColumn(PrometheusDataResource.DATAITEM_FIELD_NAME, PrometheusDataItem.NAMELEN);
59 myTableDef.addNullEncryptedColumn(PrometheusDataResource.DATAITEM_FIELD_DESC, PrometheusDataItem.DESCLEN);
60 myTableDef.addBooleanColumn(MoneyWiseBasicResource.ASSET_CLOSED);
61
62
63 myCatCol.setSortOrder(PrometheusSortOrder.ASCENDING);
64 }
65
66 @Override
67 protected void declareData(final PrometheusDataSet pData) {
68 final MoneyWiseDataSet myData = (MoneyWiseDataSet) pData;
69 setList(myData.getDeposits());
70 }
71
72 @Override
73 protected PrometheusDataValues loadValues() throws OceanusException {
74
75 final PrometheusTableDefinition myTableDef = getTableDef();
76
77
78 final PrometheusDataValues myValues = getRowValues(MoneyWiseDeposit.OBJECT_NAME);
79 myValues.addValue(PrometheusDataResource.DATAITEM_FIELD_NAME, myTableDef.getBinaryValue(PrometheusDataResource.DATAITEM_FIELD_NAME));
80 myValues.addValue(PrometheusDataResource.DATAITEM_FIELD_DESC, myTableDef.getBinaryValue(PrometheusDataResource.DATAITEM_FIELD_DESC));
81 myValues.addValue(MoneyWiseBasicResource.CATEGORY_NAME, myTableDef.getIntegerValue(MoneyWiseBasicResource.CATEGORY_NAME));
82 myValues.addValue(MoneyWiseBasicResource.ASSET_PARENT, myTableDef.getIntegerValue(MoneyWiseBasicResource.ASSET_PARENT));
83 myValues.addValue(MoneyWiseStaticDataType.CURRENCY, myTableDef.getIntegerValue(MoneyWiseStaticDataType.CURRENCY));
84 myValues.addValue(MoneyWiseBasicResource.ASSET_CLOSED, myTableDef.getBooleanValue(MoneyWiseBasicResource.ASSET_CLOSED));
85
86
87 return myValues;
88 }
89
90 @Override
91 protected void setFieldValue(final MoneyWiseDeposit pItem,
92 final MetisDataFieldId iField) throws OceanusException {
93
94 final PrometheusTableDefinition myTableDef = getTableDef();
95 if (MoneyWiseBasicResource.CATEGORY_NAME.equals(iField)) {
96 myTableDef.setIntegerValue(iField, pItem.getCategoryId());
97 } else if (MoneyWiseBasicResource.ASSET_PARENT.equals(iField)) {
98 myTableDef.setIntegerValue(iField, pItem.getParentId());
99 } else if (MoneyWiseStaticDataType.CURRENCY.equals(iField)) {
100 myTableDef.setIntegerValue(iField, pItem.getAssetCurrencyId());
101 } else if (PrometheusDataResource.DATAITEM_FIELD_NAME.equals(iField)) {
102 myTableDef.setBinaryValue(iField, pItem.getNameBytes());
103 } else if (PrometheusDataResource.DATAITEM_FIELD_DESC.equals(iField)) {
104 myTableDef.setBinaryValue(iField, pItem.getDescBytes());
105 } else if (MoneyWiseBasicResource.ASSET_CLOSED.equals(iField)) {
106 myTableDef.setBooleanValue(iField, pItem.isClosed());
107 } else {
108 super.setFieldValue(pItem, iField);
109 }
110 }
111 }