Interface BuilderProvider

All Known Implementing Classes:
DefaultBuilderProvider, ImmutablesBuilderProvider, NoOpBuilderProvider

public interface BuilderProvider
A service provider interface that is used to detect types that require a builder for mapping. This interface could support automatic detection of builders for projects like Lombok, Immutables, AutoValue, etc.
Since:
1.3
Author:
Filip Hrisafov
  • Method Summary

    Modifier and Type
    Method
    Description
    Find the builder information, if any, for the type.
    default void
    init(MapStructProcessingEnvironment processingEnvironment)
    Initializes the builder provider with the MapStruct processing environment.
  • Method Details

    • init

      default void init(MapStructProcessingEnvironment processingEnvironment)
      Initializes the builder provider with the MapStruct processing environment.
      Parameters:
      processingEnvironment - environment for facilities
    • findBuilderInfo

      BuilderInfo findBuilderInfo(TypeMirror type)
      Find the builder information, if any, for the type.
      Parameters:
      type - the type for which a builder should be found
      Returns:
      the builder info for the type if it exists, or null if there is no builder
      Throws:
      TypeHierarchyErroneousException - if the type that needs to be visited is not ready yet, this signals the MapStruct processor to postpone the generation of the mappers to the next round
      MoreThanOneBuilderCreationMethodException - if type has more than one method that can create the builder