public ColumnValueSelector<?> makeMetricColumnValueSelector(String metric, IncrementalIndexRowHolder currEntry) { MetricDesc metricDesc = metricDescs.get(metric); if (metricDesc == null) { return NilColumnValueSelector.instance(); } int metricIndex = metricDesc.getIndex(); switch (metricDesc.getCapabilities().getType()) { case COMPLEX: return new ObjectMetricColumnSelector(metricDesc, currEntry, metricIndex); case LONG: return new LongMetricColumnSelector(currEntry, metricIndex); case FLOAT: return new FloatMetricColumnSelector(currEntry, metricIndex); case DOUBLE: return new DoubleMetricColumnSelector(currEntry, metricIndex); case STRING: throw new IllegalStateException("String is not a metric column type"); default: throw new ISE("Unknown metric value type: %s", metricDesc.getCapabilities().getType()); } }
public ColumnValueSelector<?> makeMetricColumnValueSelector(String metric, IncrementalIndexRowHolder currEntry) { MetricDesc metricDesc = metricDescs.get(metric); if (metricDesc == null) { return NilColumnValueSelector.instance(); } int metricIndex = metricDesc.getIndex(); switch (metricDesc.getCapabilities().getType()) { case COMPLEX: return new ObjectMetricColumnSelector(metricDesc, currEntry, metricIndex); case LONG: return new LongMetricColumnSelector(currEntry, metricIndex); case FLOAT: return new FloatMetricColumnSelector(currEntry, metricIndex); case DOUBLE: return new DoubleMetricColumnSelector(currEntry, metricIndex); case STRING: throw new IllegalStateException("String is not a metric column type"); default: throw new ISE("Unknown metric value type: %s", metricDesc.getCapabilities().getType()); } }