@Override public T max(Collection<T> items) { NumberAggregationHelper helper = new NumberAggregationHelper(); for (final T item : items) { if (item != null) { helper.addItem(item.doubleValue()); } } return convert(helper.max()); }
@SuppressWarnings("unchecked") public static <T> Aggregation<T> get(Class<T> clazz) { return getInstance().aggregationByDatatype.get(clazz); } }
@Override public T sum(Collection<T> items) { NumberAggregationHelper helper = new NumberAggregationHelper(); for (final T item : items) { if (item != null) { helper.addItem(item.doubleValue()); } } return convert(helper.sum()); }
Aggregation aggregation = Aggregations.get(rangeJavaClass); return aggregation.count(items); case AVG: return aggregation.avg(items); case MAX: return aggregation.max(items); case MIN: return aggregation.min(items); case SUM: return aggregation.sum(items); default: throw new IllegalArgumentException(String.format("Unknown aggregation type: %s", return strategy.aggregate(items);
Aggregation aggregation = Aggregations.get(rangeJavaClass); resultClass = aggregation.getResultClass(); } else { resultClass = aggregationInfo.getStrategy().getResultClass(); return parsedValue; } else { resultClass = aggregationInfo.getStrategy().getResultClass();
@Override public T avg(Collection<T> items) { NumberAggregationHelper helper = new NumberAggregationHelper(); for (final T item : items) { if (item != null) { helper.addItem(item.doubleValue()); } } return convert(helper.avg()); }
@Override public T min(Collection<T> items) { NumberAggregationHelper helper = new NumberAggregationHelper(); for (final T item : items) { if (item != null) { helper.addItem(item.doubleValue()); } } return convert(helper.min()); }
@Override public Date max(Collection<Date> items) { NumberAggregationHelper helper = new NumberAggregationHelper(); for (final Date item : items) { if (item != null) { helper.addItem((double) item.getTime()); } } Double result = helper.max(); return result != null ? new Date(result.longValue()) : null; }
@Override public Date min(Collection<Date> items) { NumberAggregationHelper helper = new NumberAggregationHelper(); for (final Date item : items) { if (item != null) { helper.addItem((double) item.getTime()); } } Double result = helper.min(); return result != null ? new Date(result.longValue()) : null; }
protected void checkAggregation(AggregationInfo aggregationInfo) { AggregationInfo.Type aggregationType = aggregationInfo.getType(); if (aggregationType == AggregationInfo.Type.CUSTOM) { return; } MetaPropertyPath propertyPath = aggregationInfo.getPropertyPath(); Class<?> javaType = propertyPath.getMetaProperty().getJavaType(); Aggregation<?> aggregation = Aggregations.get(javaType); if (aggregation != null && aggregation.getSupportedAggregationTypes().contains(aggregationType)) { return; } String msg = String.format("Unable to aggregate column \"%s\" with data type %s with default aggregation strategy: %s", propertyPath, propertyPath.getRange(), aggregationInfo.getType()); throw new IllegalArgumentException(msg); }
@Nullable public Double avg() { if (items.isEmpty()) { return null; } return sum () / items.size(); }
if (aggregationInfo.getStrategy() == null) { Class rangeJavaClass = propertyPath.getRangeJavaClass(); Aggregation aggregation = Aggregations.get(rangeJavaClass); resultClass = aggregation.getResultClass(); } else { resultClass = aggregationInfo.getStrategy().getResultClass(); Class resultClass = aggregationInfo.getStrategy().getResultClass();