package org.stagemonitor.core.metrics;
import java.util.Arrays;
import java.util.List;
import com.codahale.metrics.Metric;
import com.codahale.metrics.MetricFilter;
public class AndMetricFilter implements MetricFilter {
private final List<MetricFilter> metricFilters;
public AndMetricFilter(List<MetricFilter> metricFilters) {
this.metricFilters = metricFilters;
}
public AndMetricFilter(MetricFilter... metricFilters) {
this.metricFilters = Arrays.asList(metricFilters);
}
@Override
public boolean matches(String name, Metric metric) {
for (MetricFilter metricFilter : metricFilters) {
if (metricFilter != null && !metricFilter.matches(name, metric)) {
return false;
}
}
return true;
}
}