View Javadoc
1   package org.djutils.stats.summarizers;
2   
3   import java.io.Serializable;
4   
5   /**
6    * The Counter interface defines the methods to implement for a statistics event counter.
7    * <p>
8    * Copyright (c) 2002-2022 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See
9    * for project information <a href="https://simulation.tudelft.nl/" target="_blank"> https://simulation.tudelft.nl</a>. The DSOL
10   * project is distributed under a three-clause BSD-style license, which can be found at
11   * <a href="https://simulation.tudelft.nl/dsol/3.0/license.html" target="_blank">
12   * https://simulation.tudelft.nl/dsol/3.0/license.html</a>. <br>
13   * @author <a href="https://www.tudelft.nl/averbraeck" target="_blank"> Alexander Verbraeck</a>
14   * @author <a href="https://www.linkedin.com/in/peterhmjacobs">Peter Jacobs </a>
15   */
16  public interface CounterInterface extends Serializable
17  {
18      /**
19       * Initializes the counter.
20       */
21      void initialize();
22  
23      /**
24       * Process one observed value.
25       * @param value long; the value to process
26       * @return long; the value
27       */
28      long register(long value);
29  
30      /**
31       * Returns the description of the counter.
32       * @return String; the description
33       */
34      String getDescription();
35  
36      /**
37       * Returns the current counter value.
38       * @return long; the counter value
39       */
40      long getCount();
41  
42      /**
43       * Returns the current number of observations.
44       * @return long; the number of observations
45       */
46      long getN();
47  
48  }