package com.linkedin.thirdeye.client.comparison;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import com.linkedin.thirdeye.client.comparison.Row.Metric;
public class TimeOnTimeComparisonResponse {
int numRows;
Set<String> metrics = new TreeSet<>();
Set<String> dimensions = new TreeSet<>();
private final List<Row> rows;
public TimeOnTimeComparisonResponse(List<Row> rows) {
this.rows = rows;
for (Row row : rows) {
for (Metric metric : row.metrics) {
metrics.add(metric.metricName);
}
dimensions.add(row.dimensionName);
}
numRows = rows.size();
}
public int getNumRows() {
return numRows;
}
public Set<String> getMetrics() {
return metrics;
}
public Set<String> getDimensions() {
return dimensions;
}
public Row getRow(int index) {
return rows.get(index);
}
static class Builder {
List<Row> rows = new ArrayList<>();
public void add(Row row) {
rows.add(row);
}
TimeOnTimeComparisonResponse build() {
return new TimeOnTimeComparisonResponse(rows);
}
}
}