AbstractAggregatedValues.javaБазовый класс для накопления агрегированных значений во времени. Используется в модуле статистики и прогнозирования ликвидности (LiquidityForecast). Хранит массив значений по дням (или другим единицам времени) и предоставляет методы для накопления (add()), получения значения по индексу, вычисления средних и сумм. Подклассы: IntAggregatedValues, BigDecimalAggregatedValues. Используется в LiquidityForecast для weighted average вычислений времени платежа.
Обобщённый (<T>) абстрактный класс, реализующий паттерн Template Method. Хранит списки значений (values) и весов (weights) в LinkedList. Использует dirty-flag паттерн (averageDirty, weightedAverageDirty) для ленивого кэширования среднего и взвешенного среднего. Абстрактные методы (getZero(), sum(), convert(), divide(), multiply(), isZero()) реализуются подклассами для конкретных числовых типов. Поддерживает цепные вызовы (add().add()).
868d6abb7 2025 -> 2026 63081666f Source file headers: 2024-> 2025. b6092df09 Copyright 2023 -> 2024 ab45d51fa Copyright 2001-2022 -> 2001-2023. 5f7ef41b8 Copyright 2021 -> 2022 ceb63e8a1 Source code header: (C) 2001-2021. 7c79f1922 Copyright of source header -> 2020. 73a9755df Code cleanup: collapsed catch blocks, diamond operator, StringBuilder, Collections.sort -> List.sort 000ca723d Remove pointless boolean expressions (business) dd5ca38ac CopyRight of all java file-header updated or created.