1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package com.nickokiss.investor.fin.element;
22
23 import java.math.BigDecimal;
24
25 import com.nickokiss.investor.calc.MathCalc;
26 import com.nickokiss.investor.fin.env.Env;
27
28
29
30
31
32 public class Annuity implements FinElement {
33
34 private MathCalc mathCalc = new MathCalc();
35
36 private BigDecimal annualAmount;
37 private BigDecimal lenght;
38
39 public BigDecimal getAnnualAmount() {
40 return annualAmount;
41 }
42
43 public void setAnnualAmount(BigDecimal annualAmount) {
44 this.annualAmount = annualAmount;
45 }
46
47 public BigDecimal getLenght() {
48 return lenght;
49 }
50
51 public void setLenght(BigDecimal lenght) {
52 this.lenght = lenght;
53 }
54
55 public BigDecimal getValue(Env env, BigDecimal time) {
56 return getCashFlowStream().getValue(env, time);
57 }
58
59 public void setAnnualAmount(String string) {
60 setAnnualAmount(new BigDecimal(string));
61 }
62
63 public void setLenght(String string) {
64 setLenght(new BigDecimal(string));
65 }
66
67 public CashFlowStream getCashFlowStream() {
68 CashFlowStream cashFlowStream = new CashFlowStream();
69 cashFlowStream.addElements(annualAmount, lenght.intValue(), mathCalc.ONE);
70 return cashFlowStream;
71 }
72
73 }