@Experimental(value="The Immutables builder provider might change in a subsequent release") public class ImmutablesBuilderProvider extends DefaultBuilderProvider
org.immutables.value.Value.Immutable
are considered for this discovery.elementUtils, typeUtils
Constructor and Description |
---|
ImmutablesBuilderProvider() |
Modifier and Type | Method and Description |
---|---|
protected TypeElement |
asImmutableElement(TypeElement typeElement) |
protected BuilderInfo |
findBuilderInfo(TypeElement typeElement)
Find the
BuilderInfo for the given typeElement . |
protected BuilderInfo |
findBuilderInfoForImmutables(TypeElement typeElement,
TypeElement immutableAnnotation) |
findBuilderInfo, findBuildMethods, getTypeElement, init, isBuildMethod, isPossibleBuilderCreationMethod, shouldIgnore
protected BuilderInfo findBuilderInfo(TypeElement typeElement)
DefaultBuilderProvider
BuilderInfo
for the given typeElement
.
The default implementation iterates over all the methods in typeElement
and uses
DefaultBuilderProvider.isPossibleBuilderCreationMethod(ExecutableElement, TypeElement)
and
DefaultBuilderProvider.findBuildMethods(TypeElement, TypeElement)
to create the
BuilderInfo
.
The default implementation uses DefaultBuilderProvider.shouldIgnore(TypeElement)
to check if the
typeElement
should be ignored.
In case there are multiple BuilderInfo
then a MoreThanOneBuilderCreationMethodException
is
thrown.
findBuilderInfo
in class DefaultBuilderProvider
typeElement
- the type element for which a builder searchedBuilderInfo
or null
if no builder was found for the type
DefaultBuilderProvider.findBuildMethods(TypeElement, TypeElement)
protected BuilderInfo findBuilderInfoForImmutables(TypeElement typeElement, TypeElement immutableAnnotation)
protected TypeElement asImmutableElement(TypeElement typeElement)
Copyright © 2012-2021 MapStruct Authors; All rights reserved. Released under the Apache Software License 2.0.