private final class MemoizeExtension.Generator.MethodOverrider
extends java.lang.Object
@Memoized
method.Modifier and Type | Class and Description |
---|---|
private class |
MemoizeExtension.Generator.MethodOverrider.CheckBooleanField |
private class |
MemoizeExtension.Generator.MethodOverrider.InitializationStrategy |
private class |
MemoizeExtension.Generator.MethodOverrider.NullMeansUninitialized |
Modifier and Type | Field and Description |
---|---|
private com.squareup.javapoet.FieldSpec |
cacheField |
private com.google.common.collect.ImmutableList.Builder<com.squareup.javapoet.FieldSpec> |
fields |
private javax.lang.model.element.ExecutableElement |
method |
private com.squareup.javapoet.MethodSpec.Builder |
override |
Constructor and Description |
---|
MethodOverrider(javax.lang.model.element.ExecutableElement method) |
Modifier and Type | Method and Description |
---|---|
private com.squareup.javapoet.FieldSpec |
buildCacheField(com.squareup.javapoet.TypeName type,
java.lang.String name)
Builds a
FieldSpec for use in property caching. |
private void |
checkIllegalModifier(javax.lang.model.element.Modifier modifier) |
(package private) java.lang.Iterable<com.squareup.javapoet.FieldSpec> |
fields()
The fields that should be added to the subclass.
|
(package private) com.squareup.javapoet.MethodSpec |
method()
The overriding method that should be added to the subclass.
|
private javax.lang.model.element.ExecutableElement |
objectMethod(java.lang.String methodName) |
private boolean |
overridesObjectMethod(java.lang.String methodName) |
private void |
printMessage(javax.tools.Diagnostic.Kind kind,
java.lang.String format,
java.lang.Object... args) |
private boolean |
pullDownMethodAnnotation(javax.lang.model.element.AnnotationMirror annotation) |
(package private) MemoizeExtension.Generator.MethodOverrider.InitializationStrategy |
strategy() |
private void |
validate() |
private final javax.lang.model.element.ExecutableElement method
private final com.squareup.javapoet.MethodSpec.Builder override
private final com.squareup.javapoet.FieldSpec cacheField
private final com.google.common.collect.ImmutableList.Builder<com.squareup.javapoet.FieldSpec> fields
MethodOverrider(javax.lang.model.element.ExecutableElement method)
java.lang.Iterable<com.squareup.javapoet.FieldSpec> fields()
com.squareup.javapoet.MethodSpec method()
private void validate()
private void checkIllegalModifier(javax.lang.model.element.Modifier modifier)
private void printMessage(javax.tools.Diagnostic.Kind kind, java.lang.String format, java.lang.Object... args)
private boolean overridesObjectMethod(java.lang.String methodName)
private javax.lang.model.element.ExecutableElement objectMethod(java.lang.String methodName)
private boolean pullDownMethodAnnotation(javax.lang.model.element.AnnotationMirror annotation)
private com.squareup.javapoet.FieldSpec buildCacheField(com.squareup.javapoet.TypeName type, java.lang.String name)
FieldSpec
for use in property caching. Field will be private
volatile
and have the given type and name. If the @LazyInit annotation is available it is
added as well.MemoizeExtension.Generator.MethodOverrider.InitializationStrategy strategy()