Releases: inferred/FreeBuilder
v1.7.2
v1.7.1
v1.7
With this release, the only annotation you need to make your types Jackson-compatible is @JsonDeserialize
; getter methods without an explicit @JsonProperty
annotation will use the default property name (issue #90).
// This type can be freely converted to and from JSON with Jackson
@FreeBuilder
@JsonDeserialize(builder = Address.Builder.class)
interface Address {
String getCity();
String getState();
class Builder extends Address_Builder {}
}
Additionally, you should get a nicer error message if you forget the package
declaration on your value type (issue #85).
v1.6
v1.5
With this release, Guava is no longer a requirement. If your code is compiled with Guava available, FreeBuilder will generate code that uses it, specifically for cleaner assertions and for immutable collections, as before. Otherwise, FreeBuilder will generate pure-JDK code using requireNonNull and unmodifiable views.
v1.4
v1.3.1
Rerelease of v1.3 without the com.fasterxml.jackson.datatype.jackson-datatype-jdk8
artifact, which was accidentally included at compile instead of test scope in the FreeBuilder POM.
v1.3
This release adds support for Java 8's Optional type, mirroring existing support for Guava's Optional type. See also our documentation on Optional use in @FreeBuilder.
v1.2
This release adds support for Jackson deserialization. See our instructions on creating Jackson-compatible types with @FreeBuilder
.