MapStruct
JVM since3.2.0 Native since3.2.0
Type Conversion using Mapstruct
What’s inside
-
MapStruct component, URI syntax:
mapstruct:className
Please refer to the above link for usage and configuration details.
Maven coordinates
Or add the coordinates to your existing project:
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-mapstruct</artifactId>
</dependency>
Check the User guide for more information about writing Camel Quarkus applications.
Usage
Annotation Processor
To use MapStruct, you must configure your build to use an annotation processor.
Maven
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>{mapstruct-version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
Mapper definition discovery
By default, Camel Quarkus will automatically discover the package paths of your @Mapper
annotated interfaces or abstract classes and pass them to the Camel MapStruct component.
If you want finer control over the specific packages that are scanned, then you can set a configuration property in application.properties
.
camel.component.mapstruct.mapper-package-name = com.first.package,org.second.package