public Number calculate()

in core/src/main/java/org/apache/rocketmq/streams/core/function/supplier/SumAggregate.java [31:49]


    public Number calculate(K key, V value, Number accumulator) {
        Number number = selectAction.select(value);
        if (accumulator == null) {
            accumulator = number;
            return accumulator;
        }

        if (number instanceof Integer) {
            return accumulator.intValue() + number.intValue();
        } else if (number instanceof Long) {
            return accumulator.longValue() + number.longValue();
        } else if (number instanceof Double) {
            return accumulator.doubleValue() + number.doubleValue();
        } else if (number instanceof Float) {
            return accumulator.floatValue() + number.floatValue();
        } else {
            throw new UnsupportedOperationException("unsupported number type:" + number.getClass().getName());
        }
    }