Builder API

Almost all the standard types discussed in previous sections provide the builder API for the ease of constructing objects.

For example, TextualPresentation can be built using following syntax instead of splitting it into constructor and setter operations:

TextualPresentation.builder()
	.heading("Content title")
	.subheadings(Collections.emptyList())
	.name("photo.jpg")
	.tags(Collections.singletonList("Image"))
	.build();

It is not mandatory to use builder API for creating standard objects. However, it certainly keeps plugin implementations clean while dealing with complex objects.