KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mule > util > counters > impl > Delta


1 /*
2  * $Id: Delta.java 3798 2006-11-04 04:07:14Z aperepel $
3  * --------------------------------------------------------------------------------------
4  * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
5  *
6  * The software in this package is published under the terms of the MuleSource MPL
7  * license, a copy of which has been included with this distribution in the
8  * LICENSE.txt file.
9  */

10
11 package org.mule.util.counters.impl;
12
13 import org.mule.util.counters.CounterFactory.Type;
14
15 /**
16  * @author <a HREF="mailto:gnt@codehaus.org">Guillaume Nodet</a>
17  * @version $Revision: 3798 $
18  */

19 public class Delta extends AggregateCounter
20 {
21
22     private double first = 0.0;
23     private double second = 0.0;
24
25     public Delta(String JavaDoc name, AbstractCounter base)
26     {
27         super(name, Type.DELTA, base);
28     }
29
30     public double nextValue()
31     {
32         if (first == Double.NaN || second == Double.NaN)
33         {
34             return Double.NaN;
35         }
36         else
37         {
38             return second - first > 0.0 ? second - first : 0.0;
39         }
40     }
41
42     public void doCompute()
43     {
44         first = second;
45         second = getBase().nextValue();
46     }
47
48 }
49
Popular Tags