BuchungssatzImpl.javaПрокси/адаптер для BuchungssatzDO (JPA-entity бухгалтерской проводки в пакете org.projectforge.business.fibu.kost). Реализует интерфейс Buchungssatz из пакета org.projectforge.reporting. Javadoc: "Proxy for BuchungssatzDO". Это классический паттерн Adapter: JPA-entity не может реализовать reporting-интерфейс напрямую (отдельный модуль, разные зависимости), поэтому создаётся обёртка которая делегирует все вызовы к DO.
143 строки — самая большая Impl-обёртка в reporting-пакете. В конструкторе принимает BuchungssatzDO, извлекает связанные объекты (Konto, GegenKonto, Kost1, Kost2) и оборачивает их в соответствующие Impl-классы: KontoImpl (#795), Kost1Impl, Kost2Impl. Все поля кэшируются в final-полях — создаются один раз при конструировании.
BuchungssatzDO implements Buchungssatz?JPA-entity находится в модуле projectforge-business, а reporting-интерфейс используется в модуле финансовой отчётности. Прямая зависимость создала бы циклическую связь. Adapter решает эту проблему: DO ничего не знает о reporting, а reporting получает данные через обёртку. Кроме того, Impl может трансформировать данные (форматирование, вычисляемые поля) не загрязняя DO бизнес-логикой отчётов.
868d6abb7 2025 -> 2026 63081666f Source file headers: 2024-> 2025. 4c04cfd65 MAJOR-CHANGE! Migration of integer id's to Long id's (including fk's etc.) b6092df09 Copyright 2023 -> 2024 ab45d51fa Copyright 2001-2022 -> 2001-2023. 5f7ef41b8 Copyright 2021 -> 2022 ceb63e8a1 Source code header: (C) 2001-2021. a6a7aece4 Optimize Imports 78b436d9e Replace instances of java.util.date and java.sql.Date with java.time.LocalDate 7c79f1922 Copyright of source header -> 2020.