MapStruct is an annotation processor and Java bean mapping framework that automatically generates high-performance data transfer code during the compilation process. It serves as a type-safe data mapper for converting information between different object types, specifically targeting Java beans and records.
The main features of mapstruct/mapstruct are: Type-Safe Mapper Generators, Annotation Processing Tooling, Java Annotation Processors, Compile-Time Field Mapping, Interface-Driven Design Patterns, Type-Safe Data Handling, Boilerplate Reduction Patterns, Direct Method Call Generation.
Open-source alternatives to mapstruct/mapstruct include: projectlombok/lombok — Lombok is a Java annotation processor and boilerplate reduction library designed to automatically generate repetitive… xebia-france/selma — Selma Java bean mapping that compiles. orika-mapper/orika — Simpler, better and faster Java bean mapping framework. google/auto — This project is a Java annotation processing framework and source code generator designed to automate repetitive… androidannotations/androidannotations — AndroidAnnotations is a suite of tools designed to automate the generation of repetitive boilerplate and setup code… jakewharton/butterknife — ButterKnife is an Android view binding library and Java annotation processor that automates the linking of UI elements…
Lombok is a Java annotation processor and boilerplate reduction library designed to automatically generate repetitive source code. It intercepts the compilation process to inject methods and fields directly into Java classes, acting as a source code generator that eliminates the need to manually write common class patterns. The project distinguishes itself through deep integration with the Java compiler and various integrated development environments. It provides IDE plugins that allow editors to recognize and navigate generated methods, preventing false compilation errors and maintaining syn
Simpler, better and faster Java bean mapping framework
This project is a Java annotation processing framework and source code generator designed to automate repetitive boilerplate and reduce manual coding errors. It functions as a toolkit for building custom annotation processors that produce source code, metadata, and type definitions during the compilation process. The framework specifically automates the creation of immutable value types with built-in equality and hashing logic, as well as the generation of factory implementations for dependency injection. It also handles the automated production of service provider configuration files to enab