protected void processValue(Object value) { if (ExpressionUtils.isError(value)) { hasError = true; } else if (ExpressionUtils.isNonBlankData(value)) { if (value instanceof Calendar) { value = ((Calendar) value).getTime(); } if (value instanceof Date) { long t = ((Date) value).getTime(); hasTime = true; int bin = (int) Math.floor((double) (t - _index.getMin()) / (double) _index.getStep()); if (bin >= 0 && bin < bins.length) { // as a precaution bins[bin]++; } } else { hasNonTime = true; } } else { hasBlank = true; } }
public ExpressionTimeValueBinner(RowEvaluable rowEvaluable, TimeBinIndex index) { _rowEvaluable = rowEvaluable; _index = index; bins = new int[_index.getBins().length]; }