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.date.OceanusDate;
20 import io.github.tonywasher.joceanus.oceanus.date.OceanusDateRange;
21 import io.github.tonywasher.joceanus.oceanus.decimal.OceanusMoney;
22 import io.github.tonywasher.joceanus.metis.field.MetisFieldSet;
23 import io.github.tonywasher.joceanus.moneywise.atlas.data.analysis.values.MoneyWiseXAnalysisAccountAttr;
24 import io.github.tonywasher.joceanus.moneywise.atlas.data.analysis.values.MoneyWiseXAnalysisAccountValues;
25 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWisePortfolio;
26
27
28
29
30 public final class MoneyWiseXAnalysisPortfolioCashBucket
31 extends MoneyWiseXAnalysisAccountBucket<MoneyWisePortfolio> {
32
33
34
35 private static final MetisFieldSet<MoneyWiseXAnalysisPortfolioCashBucket> FIELD_DEFS = MetisFieldSet.newFieldSet(MoneyWiseXAnalysisPortfolioCashBucket.class);
36
37
38
39
40
41
42
43 MoneyWiseXAnalysisPortfolioCashBucket(final MoneyWiseXAnalysis pAnalysis,
44 final MoneyWisePortfolio pPortfolio) {
45
46 super(pAnalysis, pPortfolio);
47 }
48
49
50
51
52
53
54
55 MoneyWiseXAnalysisPortfolioCashBucket(final MoneyWiseXAnalysis pAnalysis,
56 final MoneyWiseXAnalysisPortfolioCashBucket pBase) {
57
58 super(pAnalysis, pBase);
59 }
60
61
62
63
64
65
66
67
68 MoneyWiseXAnalysisPortfolioCashBucket(final MoneyWiseXAnalysis pAnalysis,
69 final MoneyWiseXAnalysisPortfolioCashBucket pBase,
70 final OceanusDate pDate) {
71
72 super(pAnalysis, pBase, pDate);
73 }
74
75
76
77
78
79
80
81
82 MoneyWiseXAnalysisPortfolioCashBucket(final MoneyWiseXAnalysis pAnalysis,
83 final MoneyWiseXAnalysisPortfolioCashBucket pBase,
84 final OceanusDateRange pRange) {
85
86 super(pAnalysis, pBase, pRange);
87 }
88
89 @Override
90 public MetisFieldSet<MoneyWiseXAnalysisPortfolioCashBucket> getDataFieldSet() {
91 return FIELD_DEFS;
92 }
93
94 @Override
95 public Long getBucketId() {
96 return getAccount().getExternalId();
97 }
98
99
100
101
102
103
104 void addValues(final MoneyWiseXAnalysisPortfolioCashBucket pBucket) {
105
106 addValues(getValues(), pBucket.getValues());
107
108
109 addValues(getBaseValues(), pBucket.getBaseValues());
110 }
111
112
113
114
115
116
117
118 private static void addValues(final MoneyWiseXAnalysisAccountValues pTotals,
119 final MoneyWiseXAnalysisAccountValues pSource) {
120
121 OceanusMoney myValue = pTotals.getMoneyValue(MoneyWiseXAnalysisAccountAttr.VALUATION);
122 myValue = new OceanusMoney(myValue);
123 final OceanusMoney mySrcValue = pSource.getMoneyValue(MoneyWiseXAnalysisAccountAttr.VALUATION);
124 myValue.addAmount(mySrcValue);
125 pTotals.setValue(MoneyWiseXAnalysisAccountAttr.VALUATION, myValue);
126 }
127 }