package metrics; /** * Representa uma m�trica, contendo suas subm�tricas e valores * @author Marcus */ public class Metric { /** * Nome da feature a qual se refere a metrica; */ private final String feature; /** * Array contendo o tipo de m�trica: Granularidade ou Localiza��o. */ private SubMetric[] subMetrics; /** * Retorna o nome da feature * @return Nome da feature. */ public String getFeature() { return feature; } /** * Construtor padr�o. * @param feature nome da Feature */ public Metric(String feature) { this.subMetrics = new SubMetric[MetricType.values().length-1]; for (int i=0; i<this.subMetrics.length; i++) { this.subMetrics[i] = new SubMetric(); } this.feature = feature; } /** * Retorna a subm�trica. * @param typeEnum tipo da m�trica a retornar. * @return subm�troca encontada. */ public SubMetric getSubMetric(MetricType typeEnum) { return this.subMetrics[typeEnum.ordinal()]; } /** * Armazena uma subm�trica para a m�trica. * @param metricType Tipo da m�trica. * @param subMetric Tipo da subm�trica. * @param value Valor da subm�trica. */ public void storeMetric(MetricType metricType, String subMetric, Integer value) { this.subMetrics[metricType.ordinal()].addValue(subMetric, value); } }