An IntelliJ IDEA plugin for working with MapStruct


MapStruct is a Java annotation processor for the generation of type-safe and performant mappers for Java bean classes.
To learn more about MapStruct have a look at the mapstruct repository or the website
- Code completions
- Completion of
target and source properties in @Mapping annotation (nested properties also work)
- Completion of
target and source properties in @ValueMapping annotation
- Completion of
componentModel in @Mapper and @MapperConfig annotations
- Completion of
qualifiedByName in @Mapping annotation
- Go To Declaration for properties in
target and source to setters / getters
- Go To Declaration for
Mapping#qualifiedByName
- Find usages of properties in
target and source and find usages of setters / getters in @Mapping annotations
- Highlighting properties in
target and source
- Errors and Quick fixes:
@Mapper or @MapperConfig annotation missing
- Unmapped target properties with quick fixes: Add unmapped target property and I
7D10
gnore unmapped target property.
Uses
unmappedTargetPolicy to determine the severity that should be used
- No
source defined in @Mapping annotation
- More than one
source in @Mapping annotation defined with quick fixes: Remove source. Remove constant. Remove expression. Use constant as defaultValue. Use expression as defaultExpression.
- More than one default source in
@Mapping annotation defined with quick fixes: Remove defaultValue. Remove defaultExpression.
target mapped more than once by @Mapping annotations with quick fixes: Remove annotation and change target property.
* used as a source in @Mapping annotation with quick fixes: Replace * with method parameter name.
- Unknown reference inspection for
source and target in @Mapping and @ValueMapping annotation.
- Unknown reference inspection for
qualifiedByName in @Mapping annotation
The MapStruct plugin requires Java 11 or later
Since the project has been migrated to the Gradle and [Gradle IntelliJ plugin][gradle-intellij-plugin],
the build process is much simpler. The only thing to build the plugin is to run:
All required dependencies like Grammar-Kit, JFlex are downloaded in the background and triggered properly
during the build process. You can also test the plugin easily with running:
All of the gradle tasks can be connected to the IntelliJ debugger, so the development process is very easy.
The MapStruct plugin is licensed under the Apache License, Version 2.0 (the "License"); you may not use it except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0.