1189 Commits

Author SHA1 Message Date
Filip Hrisafov
ef270caecb
#1479 Add support for Builders with multiple build methods (#1498)
* Add new @Builder annotation for defining a build method
* When there are multiple build methods look for a method named `build` and if found use it
* If @Builder is defined than look for a build method with the defined method
* When a type has multiple builder creation methods throw an exception and don't use the builder

Defaulting to a method named `build` will make sure that a correct method is selected for:
* FreeBuilder - it has two methods: `build` and `buildPartial`
* Protobuf - it has three methods: `getDefaultInstanceForType`, `build` and `buildPartial`
2018-07-12 23:16:53 +02:00
tomoya-yokota
fc5f937a71 Fix Method name typo 2018-07-01 23:24:01 +02:00
Christian Bandowski
508de6733e #1523 dont lose timezone mapping Calendar to XMLGregorianCalendar 2018-06-21 22:32:36 +02:00
sjaakd
e67c849c17 #1398 allowing @ObjectFactory methods on context 2018-05-24 20:28:14 +02:00
Christian Bandowski
db851701ef #1454 add more tests for builder lifecycle methods 2018-05-17 21:39:38 +02:00
Christian Bandowski
eeddc17de4 #537 add unit test 2018-05-09 22:28:16 +02:00
sjaakd
6fbc4cf253 #1180 non existing (nested) property in shared config 2018-05-08 23:18:18 +02:00
Filip Hrisafov
771debee88
#1453 Make sure that we always forge iterable / map mapping methods without bounds
When generating collection / map mapping methods make sure that the method result type is without bounds
2018-05-06 22:03:16 +02:00
sjaakd
45cc87849b #1458 reporting error detail from literal assignment 2018-05-05 22:56:00 +02:00
Christian Bandowski
b291907918 #1460 Ensures the FQN will be used for SimpleConversion if required
* Added getReferenceName() to Type which returns simple or fully-qualified-name
* Use getReferenceName() in all SimpleConversions
* Added testcase that is not working without these changes
* Added ConversionUtils with a lot of helper methods to create the "reference names" used in SimpleConversions
2018-05-05 20:42:37 +02:00
Filip Hrisafov
bf31ec72de
#1338 Using an adder with non generic source collection should work 2018-05-04 08:09:37 +02:00
Filip Hrisafov
7a3f6d973e
#1473 Make sure that the SPIs are lazy initialized in the AnnotationProcessorContext 2018-05-03 23:15:23 +02:00
Filip Hrisafov
b6905d5168 Make sure we have a conflicting test with adder 2018-05-03 21:51:37 +02:00
Filip Hrisafov
84bf019fdf More detailed check for adder in builde 2018-05-03 21:51:37 +02:00
Filip Hrisafov
adde6826a6 #1449 Adders should not be considered as builder setter methods 2018-05-03 21:51:37 +02:00
Filip Hrisafov
7306c52529 #1415 Use Immutables AccesorNamingStrategy and BuilderProvider when immutables are present
This allows out of the box support for Immutables by picking the right default strategy when immutables are present
2018-05-01 18:26:34 +02:00
Filip Hrisafov
8a24706026 Extract methods that use the AccessorNamingStrategy into class instance methods
This helps towards #1415, where we need to use strategy based on presence / absence of Immutables
2018-05-01 18:26:34 +02:00
sjaakd
d92b439a60 #1462 define constants as JLS literal types, enforce long L suffix 2018-04-29 09:12:49 +02:00
Filip Hrisafov
5c799b73ef
#1452 support BeanMapping#ignoreByDefault for builders 2018-04-28 10:17:52 +02:00
Filip Hrisafov
cf19a6b637
#1423 Updating types that have a builder should be allowed
It is possible that a type has both a builder and accessors.
In such case doing an update to this type should be allowed
2018-04-28 09:09:44 +02:00
Filip Hrisafov
7e7fcfbb94
#1317 Add support for ignoring unmapped source properties
This property has only effect on the unmapped source properties report
2018-04-25 20:45:02 +02:00
sjaakd
35f5400e00 #1401 improvements by direct assigning constants 2018-04-25 20:25:11 +02:00
Filip Hrisafov
2fe7f6be2b
#1387 Improve error message when unknown source parameter is used in Mapping 2018-04-24 21:39:28 +02:00
Filip Hrisafov
4a05c8d5f1
#1433 Support for lifecycle methods for builders
When doing mappings with builder the effective type should be considered for lifecycle callback methods
2018-04-24 21:36:48 +02:00
Christian Bandowski
5540efc482 #1425 Added findType to VirtualMappingMethod and use it in all builtin templates
Together with the includeModel directive this will ensure that the type will be written to the file as a FQN if required, otherwise as a simple name.
2018-04-21 18:59:29 +02:00
sjaakd
4f5db83de7 #1392 add option to default ignoreAll mappings in a bean mapping method 2018-04-21 09:07:13 +02:00
Filip Hrisafov
5834368b15
#1431 Factory method resolution should be done on the effective type
This allows using factories for builder types as well
2018-04-15 10:19:58 +02:00
dvfeinblum
075d2c4113 #1383 Invalid @Mapping values should be reported on the @Mapping annotation 2018-04-15 08:33:00 +02:00
Filip Hrisafov
18fa0a5b1a #1414 Pass originating mapper element to the Filer API 2018-04-11 20:11:12 +02:00
Filip Hrisafov
beea141255 #1338 Always determine collection argument type when searching for adder
If the Collection type is not actually generic it has no type parameters.
However, it's type argument can be determined.
One such list exists in protobuf (ProtocolStringList)
2018-04-08 15:28:41 +02:00
Filip Hrisafov
42d7bfe54d #1359 Collection target should be considered as immutable if there is no read accessor 2018-04-08 15:27:08 +02:00
Filip Hrisafov
db6805f100 #1418 Add support for NoOp BuilderProvider for turning off using of builders 2018-04-08 11:30:38 +02:00
sjaakd
e368b34ea4 #1370 avoid errors when Joda is not on classpath 2018-04-07 12:24:43 +02:00
sjaakd
3b9d5413f4 #782 Use more desriptive names in tests 2018-04-04 19:26:22 +02:00
sjaakd
768a739a09 #782 Add tests with nested flattening target 2018-04-04 19:26:22 +02:00
sjaakd
045532fa68 #782 Add tests with nested expanding target 2018-04-04 19:26:22 +02:00
sjaakd
998d6fc35f #782 Add tests with expressions and constants 2018-04-04 19:26:22 +02:00
sjaakd
6291631af7 #782 Adding negative test for @MappingTarget with immutable classes 2018-04-04 19:26:22 +02:00
Filip Hrisafov
73711cc683 #782 Rename Lombok Integration test classes 2018-04-04 19:26:22 +02:00
Filip Hrisafov
2b9fdac7f7 #782 Wording cleanup after PR review 2018-04-04 19:26:22 +02:00
Filip Hrisafov
ee439d84c5 #782 Add javadoc to the new spi elements 2018-04-04 19:26:22 +02:00
Filip Hrisafov
06a49090cc #782 Nested target properties should work for builders as well 2018-04-04 19:26:22 +02:00
Filip Hrisafov
45abe9e35b #782 Add BuilderInfo to SPI
The implementors of the SPI should return all the required information
2018-04-04 19:26:22 +02:00
Filip Hrisafov
d99a4cc217 #782 Add support for mapping immutable classes with builders 2018-04-04 19:26:22 +02:00
Eric Martineau
3d45d072e7 #782 Add tests for builders 2018-04-04 19:26:22 +02:00
Filip Hrisafov
4693a2581c MethodReference should not extend MappingMethod 2018-04-04 19:26:22 +02:00
Filip Hrisafov
2ead42da25
#1378 Use Types instead of searching for type elements 2018-03-18 20:36:00 +01:00
sjaakd
6b363f87c1 #1367 aligning @Inherit(Inverse)Conf. with strategy AUTO_INHERIT_* 2018-03-17 09:00:57 +01:00
Filip Hrisafov
49efb4fd6c
#1395 Unused mappers should not be used in constructor injection 2018-03-14 21:29:18 +01:00
Jeff Smyth
48b9bd72be #1363 Add support for using default expression 2018-02-19 23:01:51 +01:00