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
16
17
18
19 public class Number extends AbstractCounter
20 {
21
22 private double value = 0.0;
23
24 public Number(String name)
25 {
26 super(name, Type.NUMBER);
27 }
28
29 public synchronized double increment()
30 {
31 this.value++;
32 propagate();
33 return this.value;
34 }
35
36 public synchronized double incrementBy(double value)
37 {
38 this.value += value;
39 propagate();
40 return this.value;
41 }
42
43 public synchronized double decrement()
44 {
45 this.value--;
46 propagate();
47 return this.value;
48 }
49
50 public synchronized void setRawValue(double value)
51 {
52 this.value = value;
53 propagate();
54 }
55
56 public synchronized double nextValue()
57 {
58 return this.value;
59 }
60
61 }