public class LombokSupport extends Object implements BuilderFrameworkSupport
| Modifier and Type | Field and Description |
|---|---|
static List<String> |
NONNULL_ANNOTATIONS
The list of annotations that Lombok treats as non-null.
|
| Constructor and Description |
|---|
LombokSupport(CalledMethodsAnnotatedTypeFactory atypeFactory)
Create a new LombokSupport.
|
| Modifier and Type | Method and Description |
|---|---|
void |
handleBuilderBuildMethod(AnnotatedTypeMirror.AnnotatedExecutableType builderBuildType)
Hook for adding annotations to a build() method (i.e.
|
void |
handleConstructor(NewClassTree tree,
AnnotatedTypeMirror type)
Hook for adding annotations (e.g.,
@CalledMethods) to a constructor call. |
void |
handleToBuilderMethod(AnnotatedTypeMirror.AnnotatedExecutableType toBuilderType)
Hook for supporting a builder framework's
toBuilder routine. |
boolean |
isBuilderBuildMethod(ExecutableElement candidateBuildElement)
Determines if a method is a
build method on a Builder type for the builder
framework. |
boolean |
isToBuilderMethod(ExecutableElement candidateToBuilderElement)
Determines if a method is a
toBuilder method on a type generated by the builder
framework. |
public LombokSupport(CalledMethodsAnnotatedTypeFactory atypeFactory)
atypeFactory - the typechecker's type factorypublic boolean isBuilderBuildMethod(ExecutableElement candidateBuildElement)
BuilderFrameworkSupportbuild method on a Builder type for the builder
framework.isBuilderBuildMethod in interface BuilderFrameworkSupportcandidateBuildElement - a methodtrue if candidateBuildElement is a build method on a Builder type for the builder frameworkpublic void handleBuilderBuildMethod(AnnotatedTypeMirror.AnnotatedExecutableType builderBuildType)
BuilderFrameworkSupportFor build methods on Builder types, implementations of this method should
determine the required properties and add a corresponding CalledMethods annotation to the type of the
receiver parameter.
handleBuilderBuildMethod in interface BuilderFrameworkSupportbuilderBuildType - the type of a method that is the build method (as determined
by BuilderFrameworkSupport.isBuilderBuildMethod(ExecutableElement)) for a builderpublic boolean isToBuilderMethod(ExecutableElement candidateToBuilderElement)
BuilderFrameworkSupporttoBuilder method on a type generated by the builder
framework.isToBuilderMethod in interface BuilderFrameworkSupportcandidateToBuilderElement - a methodtrue if candidateToBuilderElement is a toBuilder method on a
type generated by the builder frameworkpublic void handleToBuilderMethod(AnnotatedTypeMirror.AnnotatedExecutableType toBuilderType)
BuilderFrameworkSupporttoBuilder routine. Typically, the returned
Builder has had all of its required setters invoked. So, implementations of this method
should add a CalledMethods annotation
capturing this fact.handleToBuilderMethod in interface BuilderFrameworkSupporttoBuilderType - the type of a method that is the toBuilder method (as determined
by BuilderFrameworkSupport.isToBuilderMethod(ExecutableElement)) for a type that has an associated
builderpublic void handleConstructor(NewClassTree tree, AnnotatedTypeMirror type)
BuilderFrameworkSupport@CalledMethods) to a constructor call.handleConstructor in interface BuilderFrameworkSupporttree - a constructor calltype - type of the call expression