package com.linkedin.thirdeye.client.diffsummary;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fasterxml.jackson.annotation.JsonProperty;
public class Dimensions {
@JsonProperty("names")
private List<String> names;
Dimensions() {
names = new ArrayList<String>();
}
public Dimensions(List<String> names) {
this.names = names;
}
public int size() {
return names.size();
}
public String get(int index) {
return names.get(index);
}
public List<String> allDimensions() {
return Collections.<String> unmodifiableList(names);
}
public List<String> groupByStringsAtLevel(int level) {
return Collections.<String> unmodifiableList(names.subList(0, level));
}
public List<String> groupByStringsAtTop() {
return Collections.<String> emptyList();
}
public List<String> groupByStringsAtLeaf() {
return allDimensions();
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.SIMPLE_STYLE);
}
}