ShapeShift
  • Overview
  • Introduction
    • Installation
    • Quick Start
  • API Documentation
    • Annotations
    • Kotlin DSL
    • Java Builder
  • Features
    • Transformers
    • Auto Mapping
    • Conditions
    • Decorators
    • Object Suppliers
    • Mapping Strategy
  • Guides
    • Implicit Transformers
    • Instance Mapping
    • Advanced Mapping
    • Spring Usage
    • Android Usage
Powered by GitBook
On this page

Was this helpful?

Export as PDF

Overview

ShapeShift – A lightweight, modular, performant and extensible object mapping library for Kotlin/Java.

NextInstallation

Last updated 2 years ago

Was this helpful?

ShapeShift is a Kotlin first object mapping library. We have built ShapeShift because we wanted a simple to use, minimal boiler plate mapping engine, that is also flexible and supports the most advanced use cases.

Built with Kotlin in mind, ShapeShift was designed around its ecosystem and best practices. The library APIs for mapping with Kotlin:

ShapeShift also has full Java support available with multiple APIs for mapping:

ShapeShift main features:

  • Auto mapping

  • Custom field transformers

  • Default transformers

  • Deep mapping

  • Multiple mapping targets

  • Conditional mapping

  • Mapping decorators

  • Seamless spring integration

  • Native Android support

Check out the quick start guide to learn how get started:

- Fully featured annotation based mapping, just add annotations to your objects and ShapeShift handles the rest. Including using custom field transformers, conditional mapping, advanced object decoration and much more.

- Allowing you to define the relations between objects. This allows you to map objects you can't change (or don't want to), like objects from 3rd party libraries. Additionally you can define inline transformations, conditions and decorations, enabling deep customization and very advanced mapping.

- Same API as Kotlin with full Java support.

- The equivalent Java API for the Kotlin DSL. Allowing you to define the relations between objects without modifying their code, and map objects you can't change (or don't want to).

Annotations
Kotlin DSL
Annotations
Java Builder
Quick Start