immutables-vavr
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 | |
OpenJDK Current | Linux | |
OpenJDK Current | Windows |
Ten Second Tutorial
Include the encodings in your project:
<dependency>
<groupId>org.immutables.vavr</groupId>
<artifactId>vavr-encodings</artifactId>
<version><!-- Insert latest version here --></version>
<scope>provided</scope>
</dependency>
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.