Calculator.java
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 }