= MapStruct {mapstructVersion} Reference Guide
:revdate: {docdate}
:toc: right
:sectanchors:
:source-highlighter: coderay
:Author: Gunnar Morling, Andreas Gudian, Sjaak Derksen, Filip Hrisafov and the MapStruct community
:processor-dir: ../../../../processor
:processor-ap-test: {processor-dir}/src/test/java/org/mapstruct/ap/test
:processor-ap-main: {processor-dir}/src/main/java/org/mapstruct/ap
:integration-tests-dir: ../../../../integrationtest

[[Preface]]
== Preface
This is the reference documentation of MapStruct, an annotation processor for generating type-safe, performant and dependency-free bean mapping code.
This guide covers all the functionality provided by MapStruct. In case this guide doesn't answer all your questions just join the MapStruct https://github.com/mapstruct/mapstruct/discussions[GitHub Discussions] to get help.

You found a typo or other error in this guide? Please let us know by opening an issue in the https://github.com/mapstruct/mapstruct[MapStruct GitHub repository],
or, better yet, help the community and send a pull request for fixing it!

This work is licensed under the http://creativecommons.org/licenses/by-sa/4.0/[Creative Commons Attribution-ShareAlike 4.0 International License].

:numbered:

include::chapter-1-introduction.asciidoc[]

include::chapter-2-set-up.asciidoc[]

include::chapter-3-defining-a-mapper.asciidoc[]

include::chapter-4-retrieving-a-mapper.asciidoc[]

include::chapter-5-data-type-conversions.asciidoc[]

include::chapter-6-mapping-collections.asciidoc[]

include::chapter-7-mapping-streams.asciidoc[]

include::chapter-8-mapping-values.asciidoc[]

include::chapter-9-object-factories.asciidoc[]

include::chapter-10-advanced-mapping-options.asciidoc[]

include::chapter-11-reusing-mapping-configurations.asciidoc[]

include::chapter-12-customizing-mapping.asciidoc[]

include::chapter-13-using-mapstruct-spi.asciidoc[]

include::chapter-14-third-party-api-integration.asciidoc[]