Lombok experimental features

Experimental features are available in your normal lombok installation, but are not as robustly supported as lombok's main features. In particular, experimental features:
  • Are not tested as well as the core features.
  • Do not get bugs fixed as quickly as core features.
  • May have APIs that will change, possibly drastically if we find a different, better way to solve the same problem.
  • May disappear entirely if the feature is too difficult to support or does bust enough boilerplate.
Features that receive positive community feedback and which seem to produce clean, flexible code will eventually become accepted as a core feature and move out of the experimental package.
@Accessors
A more fluent API for getters and setters.
@ExtensionMethod
Annoying API? Fix it yourself: Add new methods to existing types!
@FieldDefaults
New default field modifiers for the 21st century.
@Delegate
Don't lose your composition.
@Wither
Immutable 'setters' - methods that create a clone but with one changed field.
onMethod= / onConstructor= / onParam=
Sup dawg, we heard you like annotations, so we put annotations in your annotations so you can annotate while you're annotating.

Supported configuration keys:

lombok.experimental.flagUsage = [warning | error] (default: not set)
Lombok will flag any usage of any of the features listed here as a warning or error if configured.

Putting the "Ex" in "Experimental": promoted or deleted experimental features.

@Value: Promoted
@Value has proven its value and has been moved to the main package.
@Builder: Promoted
@Builder is a solid base to build APIs on, and has been moved to the main package.