Alice
Alice
Currently, types with a Builder must have five methods before they will be treated as buildable by FreeBuilder: build(), buildPartial(), clear(), mergeFrom(Value) and mergeFrom(Builder). These restrictions should be loosened, for...
With Java 8, we can now annotate generic type parameters, allowing us to support properties like `List`. This would have to disable nullness checking and drop use of Guava's immutable...
I want to use the generated builders as "form backing objects" in Spring MVC views. The problem I'm having is that the builder throws IllegalStateException when getting a property that...
If a property is annotated `@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS)`, Jackson will serialize the runtime class name to JSON, which is of course an implementation detail (Foo_Builder$Value). This can be fixed by...
This lets the user add extra properties to their type with no @FreeBuilder interference. Disadvantages: - Added properties must have default values, as there is no reasonable way for the...
Cyclic dependencies between API-linked types generated by other annotation processors (e.g. a FreeBuilder clone) are problematic, as both types need to detect the other is a buildable type before they...
> > > One issue I came across when looking into migrating to @FreeBuilder is that there is no (easy) way to test whether a field has been set on...
If I write a value type with an abstract "getInt()" method, FreeBuilder creates a field named "int". We should check for reserved names and modify the field name to something...
FreeBuilder is designed to output a stub builder when the user supplies an erroneous type (e.g. private constructor, `@Nullable` getter) so the error message(s) won't be swamped by references to...