#1266: CandHIHandler.kt
projectforge-business/src/main/kotlin/org/projectforge/framework/persistence/candh/CandHIHandler.kt Handler Interface (Copy-and-History), projectforge-business/src/main/kotlin/org/projectforge/framework/persistence/candh/CandHIHandler.kt 38 lines · 6 code · 28 comments · 4 blank
Core interface for property-level handlers in the Copy-and-History framework. Each handler decides via accept() whether it handles a given mutable property, then processes it via process(). Returns true if handled (processing stops), false to try the next registered handler.
Interface
interface CandHIHandler {
fun accept(property: KMutableProperty1<*, *>): Boolean
fun process(propertyContext: PropertyContext, context: CandHContext): Boolean
}
Implementations
- DefaultHandler — primitive/string types (fallback)
- BigDecimalHandler — scale-insensitive comparison
- SqlDateHandler — java.sql.Date
- UtilDateHandler — java.util.Date
- CollectionHandler — collections with deep copy
- BaseDOHandler — BaseDO subtypes (compare by ID)
Git History
868d6abb7 2025 -> 2026
63081666f Source file headers: 2024-> 2025.
6934780ff CandHMaster.copyValues with type Base<*> instead of Base<IdType>
eb03cafda candh package moved.