KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2  * $Id: Average.java 3167 2006-09-22 15:47:04Z holger $
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: 3167 $
18  */

19 public class Average extends AggregateCounter
20 {
21
22     private double sum = 0;
23     private long times = 0;
24
25     public Average(String JavaDoc name, AbstractCounter base)
26     {
27         super(name, Type.AVERAGE, base);
28     }
29
30     public double nextValue()
31     {
32         return (times > 0) ? sum / times : 0;
33     }
34
35     public void doCompute()
36     {
37         this.sum += getBase().nextValue();
38         this.times++;
39     }
40 }
41
Popular Tags