01 package net.sf.annocon.examples.basic;
02
03 public class Calculator
04 {
05 private Adder _adder;
06 private Subtracter _subtracter;
07 private double _result;
08
09 public Calculator()
10 {
11 }
12
13 public Calculator(Adder adder, Subtracter subtracter)
14 {
15 _adder = adder;
16 _subtracter = subtracter;
17 }
18
19 public void setAdder(Adder adder)
20 {
21 _adder = adder;
22 }
23
24 public void setSubtracter(Subtracter subtracter)
25 {
26 _subtracter = subtracter;
27 }
28
29 public Adder getAdder()
30 {
31 return _adder;
32 }
33
34 public Subtracter getSubtracter()
35 {
36 return _subtracter;
37 }
38
39 public void add(double value)
40 {
41 _result = _adder.add(_result, value);
42 }
43
44 public void subtract(double value)
45 {
46 _result = _subtracter.subtract(_result, value);
47 }
48
49 /**
50 * Sets the current result to 0.
51 */
52 public void clear()
53 {
54 _result = 0;
55 }
56
57 /**
58 * @return the result of the preceeding add and subtract calls.
59 */
60 public double getResult()
61 {
62 return _result;
63 }
64
65 }
|