FreeBuilder icon indicating copy to clipboard operation
FreeBuilder copied to clipboard

Automatic generation of the Builder pattern for Java

Results 50 FreeBuilder issues
Sort by recently updated
recently updated
newest added

Currently, merging from a partial will raise an UnsupportedOperationException if any required field is unset. This was to avoid a performance penalty in non-test code. However, I think we can...

enhancement

Currently FreeBuilder's supports on collection cannot support de-pluralizing the property names. e.g. ` List descendants();` would generate `addDescendants(String element)` in the builder class, but what really expected is `addDescendant(String element)`....

enhancement

I'd be cool if any annotations defined in the interface getter methods, and maybe even the interface itself, were propagated to the `Value` class. Something like https://github.com/google/FreeBuilder/pull/81 but for any...

I thought of using the Builder pattern to create a rather complex Object containing a chain of certificates and keys. Our intention is to take from clients of the class...

enhancement

Default values set on a nested buildable type in the constructor should be ignored when merging, but unfortunately they are currently treated as explicitly-set values, as the merge method in...

bug

When a nested buildable type fails to build, exception is passed as is, giving no hint in exception message of failed property. For example ``` @FreeBuilder public abstract class TopLevel...

enhancement

Allocating objects in hot loops can cause unwanted GC and memory pressure if the JVM cannot optimize them away with escape analysis. We use an EnumSet (to store which properties...

analysis

Rather than requiring users type abstract methods for useful value utilities like `.toBuilder()` or `.streamX()`, generate an interface they can implement, with defaults so any other subclass is not negatively...

enhancement

Especially `@MatchesPattern` and `@Nonnegative`. Note: `Optional` can be stored internally as an int instead of an Integer, as -1 can represent Optional.absent. This kind of savings may be too rare...

enhancement

Good candidates: - [x] lists - [ ] maps - [ ] optional properties

enhancement