Details
-
Sub-task
-
Status: Resolved
-
Medium
-
Resolution: Done
-
None
Description
In order to maintain proper equality contracts, we need to share as much code as possible between compile-time and runtime. Create a
interface Foo extends DataObject { static boolean bindingEquals(final @NonNull Foo thisObj, final Object obj) { // ... } }
method, which will define equality contract on the generated type. This code already exists in generated build implementations, which need to be updated to defer to these methods. The method needs to be static so in case of Augmentable objects it enforces that thisObj is AugmentationHolder<Foo>.
Attachments
Issue Links
- blocks
-
MDSAL-88 Binding DTOs: improve equals() implementation
- Resolved