1270 Commits

Author SHA1 Message Date
Filip Hrisafov
53c73324ff #3310 Make sure that adders work properly when they are in a generic class 2023-07-09 15:00:57 +02:00
Zegveld
04434af17a
#3296: Skip default and static methods when determining prototype methods 2023-07-08 18:03:56 +02:00
Filip Hrisafov
86919c637f
#3144 Map to Bean should only be possible for single source mappings and if explicitly used in multi source mappings 2023-05-28 09:55:40 +02:00
Filip Hrisafov
62d1bd3490
#3280 Refactor method selection and use a context to be able to more easily access information 2023-05-27 15:04:34 +02:00
Filip Hrisafov
c2eed45df1 #3126 Apply target this references in the BeanMappingMethod 2023-05-27 11:17:01 +02:00
Oliver Erhart
51f4e7eba9
#3231 Prefer record constructor annotated with @Default 2023-05-24 06:04:13 +02:00
José Carlos Campanero Ortiz
84c443df9c
#3245 Remove redundant null checks in nested properties 2023-05-24 05:44:36 +02:00
Oliver Erhart
6d205e5bc4
#1454 Support for lifecycle methods on type being built with builders
Add missing support for lifecycle methods with builders:

* `@BeforeMapping` with `@TargetType` the type being build
* `@AftereMapping` with `@TargetType` the type being build
* `@AfterMapping` with `@MappingTarget` the type being build
2023-05-21 22:49:41 +02:00
paparadva
7c90592d05 #2863 Add validation of String type to @TargetPropertyName 2023-05-21 22:21:34 +02:00
Filip Hrisafov
efaa67aadf #3104 Update methods with NullValuePropertyMappingStrategy.IGNORE should use SetterWrapperForCollectionsAndMapsWithNullCheck 2023-05-20 17:04:59 +02:00
Filip Hrisafov
a89c34f00c #3238 Compile error instead of null pointer exception for invalid ignore with target this 2023-05-20 17:04:22 +02:00
Jason Bodnar
d0e4c48228
#3172 Add mapping between Locale and String 2023-05-08 22:23:03 +02:00
Zegveld
bc5a877121
#3054: Allow abstract return type when all directly sealed subtypes are covered by subclass mappings
Co-authored-by: Ben Zegveld <Ben.Zegveld@gmail.com>
2023-05-01 11:54:24 +02:00
MengxingYuan
f3dac94701
#2781 Remove unmapped source properties when source parameter is directly mapped 2023-05-01 10:28:51 +02:00
Etien Rožnik
4843123e6e
#3165 Support adders for array / iterable to collection 2023-05-01 09:42:58 +02:00
José Carlos Campanero Ortiz
a8df94cc20
#2987 Support for defining Javadoc in the generated mapper implementation 2023-05-01 09:22:59 +02:00
Bragolgirith
d3b4a168b7
#3199 Add support for implicit conversion between java.time.LocalDate and java.time.LocalDateTime 2023-05-01 09:11:05 +02:00
ro0sterjam
931591a385
#3071 Support defining custom processor options by custom SPI 2023-04-30 17:02:39 +02:00
Zegveld
2f78d3f4e2
#3125: Allow subclassmapping inheritance for methods with identical signature
Co-authored-by: Ben Zegveld <Ben.Zegveld@gmail.com>
2023-04-30 16:33:00 +02:00
Filip Hrisafov
86a668661a #3159 Do null value check for collections with default expression 2023-04-23 18:30:08 +02:00
Filip Hrisafov
979b35a2f4 #3153 Do not use compress directive to strip whitespaces for value mapping switch method
When using the compress directive it is going to strip whitespaces from the templates as well (i.e. what the user defined in `ValueMapping#source` and / or `ValueMapping#target
2023-04-22 19:32:02 +02:00
Filip Hrisafov
e69843f46e #3158 BeanMapping#ignoreByDefault should work properly for constructor properties 2023-04-22 19:31:30 +02:00
Filip Hrisafov
c6ea69eaf9 #3186 Do not use conversions in 2-step mapping when they are disabled 2023-04-22 19:31:01 +02:00
Filip Hrisafov
d10d48ccff #3248 BeanMapping#ignoreUnmappedSourceProperties should be inherited for @InheritConfiguration 2023-04-22 19:21:28 +02:00
Claudio Nave
b1034e6703 #3202 Improve line location report for invalid qualifier for SubclassMapping 2023-04-22 18:16:07 +02:00
Ben Zegveld
03563d8ffe #3174 Also allow multiple SubclassMapping annotations on an annotation @interface. 2023-04-15 18:31:12 +02:00
Filip Hrisafov
6e9fa87ba9
#3142 Nested forged methods should declare throws from lifecycle methods 2023-04-13 21:52:15 +02:00
Filip Hrisafov
2be1f306a1 #3135 BeanMapping#mappingControl should be inherited by forged methods 2023-04-13 21:50:40 +02:00
Claudio Nave
89db26a1af
#3119 Add qualifiedBy and qualifiedByName to SubclassMapping annotation 2023-03-17 09:06:13 +01:00
Claudio Nave
a7ba12676d
#3110 Fix throws declaration for ValueMapping annotated methods (#3122)
#3110 Fix throws declaration for ValueMapping annotated methods
2023-02-05 12:17:02 +01:00
Filip Hrisafov
fd27380185
#2953 Add support for globally defining nullValueMapMappingStrategy and nullValueIterableMappingStrategy 2022-11-13 14:22:25 +01:00
Filip Hrisafov
82b19b0d8a #3077 Add test case 2022-11-13 14:21:03 +01:00
Zegveld
8894cd5935
#3057: limit do not allow self to subclassmappings. (#3063)
* #3057: limit do not allow self to subclassmappings.
* #3057: determine method candidates after all other fields are set in the constructor.

Co-authored-by: Ben Zegveld <Ben.Zegveld@gmail.com>
Co-authored-by: Filip Hrisafov <filip.hrisafov@gmail.com>
2022-11-04 14:21:05 +01:00
Filip Hrisafov
16e3ceadec
#2952 Do not treat a getter as an alternative write accessor when using CollectionMappingStrategy#TARGET_IMMUTABLE 2022-11-03 23:29:47 +01:00
Orange Add
93f7c3b8ea
#3015 Fix annotations to the forged methods 2022-11-03 23:22:35 +01:00
Orange Add
6a394ad466
#3037 Support @ValueMapping in meta annotations 2022-11-03 23:21:43 +01:00
Orange Add
bb099a55ee
#3040: Allow using only BeanMapping#mappingControl 2022-11-03 22:02:58 +01:00
Filip Hrisafov
3a325ea66b
#3036 Fix compile errors when intersection types are used in lifecycle methods 2022-10-03 21:12:19 +02:00
Filip Hrisafov
266c5fa41c
#1216 Pick candidate method with most specific return type
When there are multiple candidate methods returning different types.
We should be able to use the method with the most specific return type (if such a method exists)
2022-10-02 19:20:13 +02:00
Zegveld
411cc24dac
#2955 Fix @AfterMapping with return type not called for update mappings 2022-10-02 09:34:03 +02:00
José Carlos Campanero Ortiz
90a487ac06
#1427 Add support for custom name in Spring stereotype annotations 2022-10-01 13:47:49 +02:00
Filip Hrisafov
af1eab0ece
#2743 BeanMappingOptions should not be inherited for forged methods 2022-09-29 22:10:27 +02:00
Zegveld
608d476ed2
#3018: Use MappingControl with SubclassMapping 2022-09-29 21:35:51 +02:00
Orange Add
e979f506fa
#2773 Copy @Deprecated annotation from method or mapper to implementation 2022-09-28 22:17:59 +02:00
Filip Hrisafov
73e8fd6152
#2840, #2913, #2921: MethodMatcher should not match widening methods
In the MethodMatcher we need to do a special check when the target type is primitive.
The reason for that is that a Long is assignable to a primitive double.
However, doing that means that information can be lost and thus we should not pick such methods.
When the target type is primitive, then a method will be matched if and only if boxed equivalent of the target type is assignable to the boxed equivalent of the candidate return type
2022-09-27 09:35:54 +02:00
Johnny Lim
811cd569bb
Javadoc and documentation polishing (#3026) 2022-09-26 19:02:01 +02:00
Prasanth Omanakuttan
d593afed69
Avoid unnecessary unboxing of Boolean (#3003) 2022-09-12 18:45:22 +02:00
José Carlos Campanero Ortiz
97c6755288
#2963 Add support for enum to integer conversion 2022-09-04 13:58:10 +02:00
Iaroslav Bogdanchikov
bbf63ae177
#2730 Add support for Jakarta XML Binding 2022-09-02 22:04:01 +02:00
Filip Hrisafov
21069e5a2e #2895 Generate more readable annotations 2022-09-02 17:24:37 +02:00