001package org.avaje.metric.statistics;
002
003/**
004 * Typically used for reporting metrics.
005 */
006public interface MetricStatisticsVisitor {
007
008  /**
009   * Visit TimedStatistics.
010   */
011  void visit(TimedStatistics timed);
012
013  /**
014   * Visit ValueStatistics.
015   */
016  void visit(ValueStatistics value);
017
018  /**
019   * Visit CounterStatistics.
020   */
021  void visit(CounterStatistics counter);
022
023
024  /**
025   * Visit GaugeDoubleStatistics
026   */
027  void visit(GaugeDoubleStatistics gauge);
028
029  /**
030   * Visit GaugeLongStatistics.
031   */
032  void visit(GaugeLongStatistics gauge);
033}