FreeBuilder 1.9: Map and mutate methods for Java 8

49 views
Skip to first unread message

Chris Purcell

unread,
Apr 26, 2016, 1:11:37 PM4/26/16
to FreeBuilder
Hey folks!

I'm stoked to announce a feature I've been wanting to use for ages: @FreeBuilder now supports Java 8 lambda methods with new map/mutate methods, allowing a more fluent approach to updating properties on a Builder. For example, to increment a property:

Person olderPerson = new Person.Builder()
    .mergeFrom(person)
    .mapAge(age -> age + 1)
    .build();

To delete part of a list:

personBuilder.mutateDescendants(d -> d.subList(3, 5).clear());

To update part of a property with its own builder:

projectBuilder.mutateOwner(b -> b
    .setName("Phil")
    .setDepartment("HR"));

Happy coding!
Chris
Reply all
Reply to author
Forward
0 new messages