public Numerical1DDataDomainValues(TablePerspective data, EDimension main) { super(data, main); Perspective p = main.select(data.getDimensionPerspective(), data.getRecordPerspective()); this.groups = Numerical1DMixin.extractGroups(p, this); this.isInteger = DataSupportDefinitions.dataClass(EDataClass.NATURAL_NUMBER).apply(data); Object desc = getDescription(); Float min = null, max = null; if (desc instanceof NumericalProperties) { min = ((NumericalProperties) desc).getMin(); max = ((NumericalProperties) desc).getMax(); } if (min == null || min.isNaN() || max == null || max.isNaN()) { DoubleStatistics stats = createStats(this, groups); if (min == null || min.isNaN()) min = (float) stats.getMin(); if (max == null || max.isNaN()) max = (float) stats.getMax(); } this.mixin = new Numerical1DMixin(this, groups, min.floatValue(), max.floatValue()); }
@Override protected void fill(Builder b, TypedList data, EDimension dim, boolean[] existNeigbhor) { super.fill(b, data, dim, existNeigbhor); mixin.fill(b, data, dim, existNeigbhor); }
@Override public Collection<String> getDefaultVisualization() { return mixin.getDefaultVisualization(); }