ExtendedBaseDO.ktBaseDO<I> with soft-delete and audit timestamp support. Adds deleted (from MarkDeletableRecord), created timestamp, lastUpdate timestamp, and a recalculate() hook for derived/transient field computation before display or indexing.Serializable
└── BaseDO<I : Serializable>
└── ExtendedBaseDO<I : Serializable>
(also extends MarkDeletableRecord<I>)
| Member | Type | Description |
|---|---|---|
deleted | Boolean (override) | Soft-delete flag. When true, the entity is logically deleted but retained in the database. Overridden from BaseDO. |
created | Date? | Timestamp of initial creation. Auto-set via setCreated(). |
lastUpdate | Date? | Timestamp of last modification. Auto-updated by the persistence layer on each write. Auto-set via setLastUpdate(). |
recalculate() | Unit | Hook for pre-display/post-load computations. Used for transient fields calculated from persistent fields (e.g., full name from first+last name). |
setCreated() | Unit | Convenience: sets created to current time |
setLastUpdate() | Unit | Convenience: sets lastUpdate to current time |
Most domain entities in ProjectForge implement ExtendedBaseDO rather than the raw BaseDO. The BaseDao infrastructure relies on these fields for:
deleted flag is checked by QueryFilter, MagicFilter, and all list pageslastUpdate is used by the Hibernate Envers integration and the history search featurecreated and modification timestamps are displayed in entity edit formsrecalculate() is called by DAOs before returning entities to UI layersImplementing classes typically annotate these fields with JPA annotations:
@Basic, @Column for the database mapping;
@PropertyInfo(i18nKey = "...") for the UI property system.
868d6abb7 2025 -> 2026 63081666f Source file headers: 2024-> 2025. e33c8b9c2 Migration stuff in progress... 06828f490 Migration stuff in progress... 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. 32f634b88 Optimize imports dd5ca38ac CopyRight of all java file-header updated or created. 9ebb88522 Initial commit