package org.infinispan.stats.container;
import org.infinispan.stats.ExtendedStatisticNotFoundException;
/**
* Contains the statistic's values and allows to perform modifications on them.
*
* @author Pedro Ruivo
* @since 6.0
*/
public interface ExtendedStatisticsContainer {
/**
* it adds the value to the statistic. If the statistic does not exist in this container, it fails silently
*/
void addValue(ExtendedStatistic statistic, double value);
/**
* @return the current value of the statistic
* @throws ExtendedStatisticNotFoundException
* if the statistic was not found in this container
*/
double getValue(ExtendedStatistic statistic) throws ExtendedStatisticNotFoundException;
/**
* it merges in {@code this} the statistic's values in {@code other}. If for some reason the {@code other} cannot be
* merged, it fails silently
*/
void mergeTo(ConcurrentGlobalContainer globalContainer);
}