Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Maven Central Maven Central (snapshot) Codacy Badge

A set of Immutables encodings for Vavr.

Note: Prior to a 1.0.0 release, the encodings are still in the experimental phase and therefore should not be relied upon to provide a stable API.

JVM Platform Status
OpenJDK LTS Linux Build (OpenJDK LTS, Linux)
OpenJDK Current Linux Build (OpenJDK Current, Linux)
OpenJDK Current Windows Build (OpenJDK Current, Windows)

Ten Second Tutorial

Include the encodings in your project:

  <version><!-- Insert latest version here --></version>

Annotate your types with @VavrEncodingEnabled. Alternatively, you can annotate a @Style annotation with @VavrEncodingEnabled and have it apply to any types that are using that style. See Styles.

Now, any use of Vavr collections in your abstract value types will magically result in the generated Builder types being augmented with methods to build immutable collections element-by-element. Use of Vavr's Option type will receive the same special treatment as the standard Java Optional type.