/mapstruct-examples

Examples for using MapStruct

Primary LanguageJavaOtherNOASSERTION

MapStruct Examples

This repository contains examples showing how to use MapStruct, a Java annotation processor for the generation of type-safe bean mapping classes.

Currently, the following examples exist:

  • mapstruct-on-ant: Shows how to use MapStruct in Ant-based projects; to build this example, run ant build on the command line
  • mapstruct-on-gradle: Shows how to use MapStruct in Gradle-based projects; to build the example project, run ./gradlew clean build on the command line
  • mapstruct-lombok: Shows how to use MapStruct together with Lombok (with both a Maven pom.xml and a Gradle build.gradle); to build the example project, run either mvn clean install or ./gradlew clean build on the command line
  • mapstruct-iterable-non-iterable: Shows how by means of a mapper util class conversions can be made from an iterable- to its non-iterable element
  • mapstruct-mapping-from-map: Shows how by means of a mapper util class and qualifiers extracting value can be carried out on Maps. Watch mapstruct/mapstruct#1075 for native support.
  • mapstruct-rounding: Shows how by means of a mapper util class and qualifiers roundings can be carried out on Numbers
  • mapstruct-examples-updatemethods-1: Shows how to update an existing target object
  • mapstruct-examples-field-mapping: Shows how MapStruct can be used with "struct" like objects with public fields
  • mapstruct-nested-bean-mappings: Shows how to map object graphs via a main root method
  • mapstruct-mapping-with-cycles: Shows how to map object graphs that can contain cycles
  • mapstruct-spi-accessor-naming: Example on how to use the Service Provider Interface (SPI) for a custom accessor naming strategy.
  • mapstruct-protobuf3: Example on how to use protobuf3 with MapStruct
  • mapstruct-kotlin: Example on how to use MapStruct with Kotlin using KAPT (Kotlin Annotation Processing Tool)

License

The examples in this project are licensed under the Apache License, Version 2.0.