1
2
3
4
5
6
7
8
9
10
11 package org.mule.util.counters.impl;
12
13 import org.mule.util.counters.CounterFactory.Type;
14
15 public class Delta extends AggregateCounter
16 {
17
18 private double first = 0.0;
19 private double second = 0.0;
20
21 public Delta(String name, AbstractCounter base)
22 {
23 super(name, Type.DELTA, base);
24 }
25
26 public double nextValue()
27 {
28 if (Double.isNaN(first) || Double.isNaN(second))
29 {
30 return Double.NaN;
31 }
32 else
33 {
34 return second - first > 0.0 ? second - first : 0.0;
35 }
36 }
37
38 public void doCompute()
39 {
40 first = second;
41 second = this.getBase().nextValue();
42 }
43
44 }