SPI (service provider interface) contracts to be implemented for advanced use cases.
Interface Summary Interface Description AccessorNamingStrategyA service provider interface for the mapping between method names and properties. AstModifyingAnnotationProcessorA contract to be implemented by other annotation processors which - against the design philosophy of JSR 269 - alter the types under compilation. BuilderProviderA service provider interface that is used to detect types that require a builder for mapping. EnumMappingStrategyA service provider interface for the mapping between different enum constants EnumTransformationStrategyA service provider interface for transforming name based value mappings. MappingExclusionProviderA service provider interface that is used to control if MapStruct is allowed to generate automatic sub-mapping for a given
MapStructProcessingEnvironmentMapStruct will provide the implementations of its SPIs with on object implementing this interface so they can use facilities provided by it.
Class Summary Class Description BuilderInfoHolder for the builder information. BuilderInfo.Builder CaseEnumTransformationStrategyApplies case transformation to the source enum DefaultAccessorNamingStrategyThe default JavaBeans-compliant implementation of the
AccessorNamingStrategyservice provider interface.
DefaultBuilderProviderDefault implementation of
DefaultEnumMappingStrategy FreeBuilderAccessorNamingStrategyAccessor naming strategy for FreeBuilder. ImmutablesAccessorNamingStrategyAccessor naming strategy for Immutables. ImmutablesBuilderProviderBuilder provider for Immutables. NoOpBuilderProviderA NoOp
nullwhen searching for a builder.
PrefixEnumTransformationStrategy StripPrefixEnumTransformationStrategy StripSuffixEnumTransformationStrategy SuffixEnumTransformationStrategy
Enum Summary Enum Description MethodTypeDifferent types of a method.
Exception Summary Exception Description MoreThanOneBuilderCreationMethodExceptionIndicates that a type has too many builder creation methods. TypeHierarchyErroneousExceptionIndicates a type was visited whose hierarchy was erroneous, because it has a non-existing super-type.