# Package groovy.transform.builder

- Class Summary
  Class | Description
  --- | ---
  DefaultStrategy | This strategy is used with the `Builder` AST transform to create a builder helper class for the fluent creation of instances of a specified class. It can be used at the class, static method or constructor levels.
  ExternalStrategy | This strategy is used with the `Builder` AST transform to populate a builder helper class so that it can be used for the fluent creation of instances of a specified class. The specified class is not modified in any way and may be a Java class.
  InitializerStrategy | This strategy is used with the `Builder` AST transform to create a builder helper class for the fluent and type-safe creation of instances of a specified class.
  InitializerStrategy.SET | Internal phantom type used by the `InitializerStrategy` to indicate that a property has been set.
  InitializerStrategy.UNSET | Internal phantom type used by the `InitializerStrategy` to indicate that a property remains unset.
  SimpleStrategy | This strategy is used with the `Builder` AST transform to modify your Groovy objects so that the setter methods for properties return the original object, thus allowing chained usage of the setters.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  Builder | The `@Builder` AST transformation is used to help write classes that can be created using fluent api calls. The transform supports multiple building strategies to cover a range of cases and there are a number of configuration options to customize the building process.