244 Commits

Author SHA1 Message Date
Sjaak Derksen
cf668bea77
#1576 Delay determining whether a Type needs to be imported & java.time cleanup (#1642) 2018-11-06 07:36:09 +00:00
Sjaak Derksen
288813fc3c
#1306 Add new NullValuePropertyMappingStrategy which leaves @MappingTarget untouched (#1618) 2018-10-25 22:14:26 +01:00
Sebastian
30c2dadec7 #1561 add support for adders in combination with streams
- Extended Type#getAlternativeTargetAccessors to recognize stream read
  accessors for which no corresponding setter exists
  (there is only an add method)
- Extended SourceRHS#getSourceTypeForMatching to return the
  correct source type for streams too
- Add StreamAdderWrapper to map Stream -> Adder
- Extended PropertyMapping$PropertyMappingBuilder#assignToPlainViaAdder
  to return StreamAdderWrapper if source type is stream
2018-09-24 22:23:34 +02:00
Sjaak Derksen
10f855fa9e
#1532 using fields and constructor fragments optimizing DataTypeFactory usage 2018-08-14 23:53:41 +02:00
Christian Bandowski
6b89539ff6 #1541 Fix NPE when using varargs in mapping methods 2018-07-24 18:19:42 +02:00
MapStruct Team
b35126e609 #1411 Update copyright header on all files
* Use new shorter copyright header without a year
* Use SLASHSTAR_STYLE for Java files
2018-07-15 19:29:28 +02:00
Sjaak Derksen
58a2aa94bb
#1482 allowing generic self references in types when matching 2018-07-14 16:27:10 +02:00
Christian Bandowski
508de6733e #1523 dont lose timezone mapping Calendar to XMLGregorianCalendar 2018-06-21 22:32:36 +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
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
Filip Hrisafov
2b9fdac7f7 #782 Wording cleanup after PR review 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
Filip Hrisafov
460e87eef6 #1340 Create correct overriden method for Value Mappings
* The Value / Enum Mappings should copy all the parameters from the method that is being overriden
* The source parameter should be the first source parameter
2017-11-24 00:48:19 +01:00
Richard Lea
49e39e0ed5 #1332 Fix exceptions declaration missing in generated nested private methods 2017-11-23 23:41:42 +01:00
Kevin
0192bdaf83 #571 Add Constructor Injection for Annotation Based Component Model
- Allow configuring of injection strategy (Constructor / Field)
- Default injection strategy is Field
2017-10-20 22:56:48 +02:00
Kevin Grüneberg
499dbd4561 #1273 Fix for NullValueMappingStrategy#RETURN_DEFAULT when using collections
When mapping a collection using NullValueMappingStrategy#RETURN_DEFAULT and the source is null, the target will be an empty collection.
2017-09-17 23:03:24 +02:00
Filip Hrisafov
3004ea28c5 #1131 Use SourceRHS source type for update methods factories
If a SourceRHS is present then the source type of the SourceRHS and the MappingContext parameters are considered for the factory method selection, i.e. the other source parameters are ignored
2017-07-11 21:53:38 +02:00
Filip Hrisafov
3ebd09eec9 #1244 Fix problems with special word for FreeMarker in some cases 2017-07-10 20:37:09 +02:00
Filip Hrisafov
82da71199d #543 Make sure that the bound type is imported if the type is wildcard 2017-07-02 20:25:35 +02:00
Cornelius
b5b0c04313 #1170 Fix wildcards in collection adder mappings 2017-06-29 00:01:49 +02:00
Filip Hrisafov
ceaa869c65 #1215 Add import correctly for array types 2017-05-30 21:35:39 +02:00
Filip Hrisafov
15133d5a0f #777 Set initial capacity for new collection / map element in collection / map mappings 2017-05-06 15:04:42 +02:00
Filip Hrisafov
763deaa917 #1164 Split the SetterWrapperForCollections into multiple models:
* SetterWrapperForCollectionsAndMaps - Does a simple assignment without doing any null checks
* SetterWrapperForCollectionsAndMapsWithNullCheck - Does an assignment that does a null check before assignment and takes direct assignment into consideration
* ExistingInstanceSetterWrapperForCollectionsAndMaps - Used for wrapping an assignment when the method is an update method

Additionally don't do local var assignment if there are presence checkers
2017-04-25 22:41:51 +02:00
sjaakd
e154452d53 #1126 Add new CollectionMappingStrategy TARGET_IMMUTABLE 2017-03-14 21:36:36 +01:00
Filip Hrisafov
d4c6250944 #1102 Add support for Auto forging of Enum properties 2017-03-12 15:34:46 +01:00
sjaakd
58992b8edf #1105 cleaning up MethodReference freemarker template 2017-02-26 11:39:14 +01:00
Filip Hrisafov
f654da2563 #1059 Add ftlvariable to the ftl files so we can have autocomplete with IntelliJ 2017-02-21 21:36:01 +01:00
Filip Hrisafov
8dbcc43a8e #1082 Do not generate an empty line after method start for NestedPropertyMappingMethod 2017-02-19 16:13:00 +01:00
Filip Hrisafov
56ea9dd168 #1050 Use the getNull method from the Type instead of the getDefaultValue 2017-02-05 18:49:43 +01:00
Filip Hrisafov
9c30727262 #1061 Support for generating Mappers in the default package 2017-02-05 08:56:36 +01:00
Andreas Gudian
ac03999170 #975 Allow calling BeforeMapping/AfterMapping methods directly on @Context params 2017-02-02 21:57:26 +01:00
sjaakd
1406c0b6db #1011 Using ForgedMethods to forge nested target mappings 2017-02-01 10:07:44 +01:00
Filip Hrisafov
6b07dda829 #962 Add support for mapping Java 8 Streams 2017-01-06 09:49:16 +01:00
Andreas Gudian
48d7963cca Merge branch '1.1-master' 2017-01-05 22:04:29 +01:00
Andreas Gudian
22b28f58db Merge branch '1.1-master' 2017-01-05 21:11:10 +01:00
Andreas Gudian
b02f8e5df5 #1032 Update license headers to 2017 2017-01-05 18:55:26 +01:00
Andreas Gudian
44fe197d3b #975 Introduce @Context annotation for passing context parameters through generated mapping methods to custom methods 2016-12-25 11:05:58 +01:00
Filip Hrisafov
00b8ae01a1 #1014 do not generate FQN for extends/super bound Types 2016-12-22 23:54:50 +01:00
sjaakd
1f0533ca94 #996 refactor ArrayCopyWrapper 2016-12-20 23:07:15 +01:00
Andreas Gudian
79f87e8833 #975 Refactor method-matching to unify selection and rendering of mapping method, factories and lifecycle methods 2016-12-19 22:36:12 +01:00
sjaakd
46363028bd #988 Strange enters in templates 2016-12-19 21:59:47 +01:00
sjaakd
70896245d7 #973 Setter and Update wrapper refactoring and cleanup 2016-12-19 21:59:47 +01:00
navpil
81ce66044f #60 automapping 2016-12-19 21:45:14 +01:00
sjaakd
81a4cb360d #981 Refactoring, move SourceRHS init to start of property build. 2016-12-05 22:17:34 +01:00
Pascal
075e763556 #469 Consider return values of BeforeMapping/AfterMapping methods
This allows to handle cycles in object graphs, as demonstrated in the
test case CallbacksWithReturnValuesTest
2016-12-04 16:15:19 +01:00
Filip Hrisafov
746f49fe3d #557 Provide a way to use direct field mappings within mapstruct 2016-12-03 21:57:13 +01:00
Andreas Gudian
050c398da6 #966 Avoid missing newlines between methods and multiple newlines (generally) by adding a checkstyle rule, fixing current incarnations. 2016-12-01 21:52:58 +01:00