MapStruct - An annotation processor for generating type-safe bean mappers

  •        80

MapStruct is a Java annotation processor for the generation of type-safe and performant mappers for Java bean classes. It saves you from writing mapping code by hand, which is a tedious and error-prone task. The generator comes with sensible defaults and many built-in type conversions, but it steps out of your way when it comes to configuring or implementing special behavior.

MapStruct offers Fast execution by using plain method invocations instead of reflection, Compile-time type safety, Self-contained code, Easily debuggable mapping code.

http://mapstruct.org/
https://github.com/mapstruct/mapstruct

Tags
Implementation
License
Platform

   




Related Projects

johm - JOhm is a Object-hash mapping library for Java for storing objects in Redis

  •    Java

JOhm is a blazingly fast Object-Hash Mapping library for Java inspired by the awesome Ohm. The JOhm OHM is a modern-day avatar of the old ORM's like Hibernate with the difference being that we are not dealing with an RDBMS here but with a NoSQL rockstar.JOhm is a library for storing objects in Redis, a persistent key-value database. JOhm is designed to be minimally-invasive and relies wholly on reflection aided by annotation hooks for persistence. The fundamental idea is to allow large existing codebases to easily plug into Redis without the need to extend framework base classes or provide excessive configuration metadata.

Dozer - Java Bean to Java Bean mapper that recursively copies data from one object to another

  •    Java

Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types. Dozer supports simple property mapping, complex type mapping, bi-directional mapping, implicit-explicit mapping, as well as recursive mapping. This includes mapping collection attributes that also need mapping at the element level.

derive4j - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms, (near future: optics and typeclasses)

  •    Java

tl;dr Show me how to write, say, the Either sum type with Derive4J!.This project has a special dedication to Tony Morris' blog post Debut with a catamorphism. I'm also very thankful to @sviperll and his adt4j project which was the initial inspiration for Derive4J.

pojobuilder - A Java Code Generator for Pojo Builders

  •    Java

The PojoBuilder Generator is a Java 6 compliant annotation processor that generates a fluent builder class for POJOs (Plain Old Java Object). Builders are quite useful, for example, to build test data, where you only want to set the relevant data properties.


android-state - A utility library for Android to save objects in a Bundle without any boilerplate.

  •    Java

A utility library for Android to save objects in a Bundle without any boilerplate. It uses an annotation processor to wire up all dependencies. You can read the JavaDoc here.

paperparcel - Auto-generate the fastest possible Parcelable implementations for Java and Kotlin

  •    Java

PaperParcel is an annotation processor that automatically generates the CREATOR and writeToParcel(...) implementations for you when writing Parcelable objects. PaperParcel fully supports both Java and Kotlin (including Kotlin Data Classes). Additionally, PaperParcel supports Google's AutoValue via an AutoValue Extension. For more information please see the website.

play-swagger - Swagger spec generator for play framework

  •    Scala

A library that generates swagger specs from route files and case class reflection, no code annotation needed. For installation/get-started see the next section.

DeepLinkDispatch - A simple, annotation-based library for making deep link handling better on Android

  •    Java

DeepLinkDispatch provides a declarative, annotation-based API to define application deep links.You can register an Activity to handle specific deep links by annotating it with @DeepLink and a URI. DeepLinkDispatch will parse the URI and dispatch the deep link to the appropriate Activity, along with any parameters specified in the URI.

DoctrineExtensions - Doctrine2 behavioral extensions, Translatable, Sluggable, Tree-NestedSet, Timestampable, Loggable, Sortable

  •    PHP

This package contains extensions for Doctrine ORM and MongoDB ODM that offer new functionality or tools to use Doctrine more efficiently. These behaviors can be easily attached to the event system of Doctrine and handle the records being flushed in a behavioral way. All extensions support YAML, Annotation and XML mapping. Additional mapping drivers can be easily implemented using Mapping extension to handle the additional metadata mapping.

kotshi - An annotations processor that generates Moshi adapters from immutable Kotlin data classes.

  •    Kotlin

An annotations processor that generates Moshi adapters from immutable Kotlin data classes. Moshi's default reflective adapters assume your classes are compiled from Java code which causes problem for Kotlin data classes.

Butterknife - Bind Android views and callbacks to fields and methods.

  •    Java

Field and method binding for Android views which uses annotation processing to generate boilerplate code for you. Annotate fields with @BindView and a view ID for Butter Knife to find and automatically cast the corresponding view in your layout. Instead of slow reflection, code is generated to perform the view look-ups. Calling bind delegates to this generated code that you can see and debug.

DORM4J

  •    Java

DORM4J (Dynamic Object-Relational Mapping for Java) is an O/R Mapping library for java. It uses annotation in jdk1.5 and dynamic feature of java language to implement O/R mapping function without additional XML config files.

EVReflection - Reflection based (Dictionary, CKRecord, NSManagedObject, Realm, JSON and XML) object mapping with extensions for Alamofire and Moya with RxSwift or ReactiveSwift

  •    Swift

At this moment the master branch is for Swift 4.0 If you want to continue using EVReflection in an older version, then use the corresponding branch. Run the unit tests to see EVReflection in action. In most cases EVReflection is very easy to use. Just take a look the section It's easy to use. But if you do want to do non standard specific things, then EVReflection will offer you an extensive range of functionality.

dart - Extras binding and intent builders for Android apps.

  •    Java

Extra "binding" library & intent builders for Android. Dart & Henson (DH) uses annotation processing to bind intent's extras to pojo fields, and to generate intent builders via a fluent API. Dart and Henson is a an Android Library that structures the navigation layer of your apps. It helps to create intents and consume them in a structured way. We believe it's the best way to organize your navigation layer, and make it less error-prone and easier to maintain.

OnActivityResult - OnActivityResult annotation compiler for Android

  •    Java

Modules are located on Maven Central. Where int parameters will get the resultCode and Intent parameters will get the Intent.

O/R Broker 2

  •    Java

O/R Broker is a framework for applications that use JDBC. It allows you to externalize dynamic SQL statements in individual files, improving readability, and it allows declarative mapping from queries to arbitrary domain objects, not just JavaBeans.

HandyJSON - A handy swift json-object serialization/deserialization library

  •    Swift

HandyJSON is a framework written in Swift which to make converting model objects( pure classes/structs ) to and from JSON easy on iOS.Compared with others, the most significant feature of HandyJSON is that it does not require the objects inherit from NSObject(not using KVC but reflection), neither implements a 'mapping' function(writing value to memory directly to achieve property assignment).

commons-reflection

  •    

Reflection utilities. Provides faster implementations of java.lang.reflect.Proxy Code hosted at https://github.com/finn-no/commons-reflection

vtl reflection

  •    C++

Reflection API for C++ language. The main characteristics are as follows: -no extra translator course needed to add introspection; -based on standard preprocessor directives and robust template mechanisms; -reflection for classes, methods and properties.