package net.rrm.ehour.ui.report.builder;
import com.google.common.collect.Lists;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ReportTabs {
private List<ReportTabFactory> factories;
// cglib..
public ReportTabs() {
factories = Lists.newArrayList();
}
public ReportTabs(List<ReportTabFactory> factories) {
this.factories = sortByRenderPriority(factories);
}
private List<ReportTabFactory> sortByRenderPriority(List<ReportTabFactory> factories) {
List<ReportTabFactory> sortedClone = Lists.newArrayList(factories);
Collections.sort(sortedClone, new Comparator<ReportTabFactory>() {
@Override
public int compare(ReportTabFactory o1, ReportTabFactory o2) {
return o1.getRenderPriority() - o2.getRenderPriority();
}
});
return sortedClone;
}
public List<ReportTabFactory> getTabFactories() {
return factories;
}
public void setFactories(List<ReportTabFactory> factories) {
this.factories = factories;
}
}