Package com.google.auto.value.processor
Class PropertyBuilderClassifier
- java.lang.Object
-
- com.google.auto.value.processor.PropertyBuilderClassifier
-
class PropertyBuilderClassifier extends java.lang.ObjectClassifies methods inside builder types that return builders for properties. For example, if@AutoValueclass Foo has a methodImmutableList<String> bar()then Foo.Builder can have a methodImmutableList.Builder<String> barBuilder(). This class checks that a method likebarBuilder()follows the rules, and if so constructs aPropertyBuilderClassifier.PropertyBuilderinstance with information aboutbarBuilder.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPropertyBuilderClassifier.PropertyBuilderInformation about a property builder, referenced from the autovalue.vm template.
-
Field Summary
Fields Modifier and Type Field Description private static com.google.common.collect.ImmutableSet<java.lang.String>BUILDER_METHOD_NAMESprivate BuilderMethodClassifierbuilderMethodClassifierprivate static java.lang.StringCOM_GOOGLE_COMMON_COLLECT_IMMUTABLEprivate EclipseHackeclipseHackprivate javax.lang.model.util.ElementselementUtilsprivate ErrorReportererrorReporterprivate com.google.common.collect.ImmutableBiMap<javax.lang.model.element.ExecutableElement,java.lang.String>getterToPropertyNameprivate javax.lang.model.util.TypestypeUtils
-
Constructor Summary
Constructors Constructor Description PropertyBuilderClassifier(ErrorReporter errorReporter, javax.lang.model.util.Types typeUtils, javax.lang.model.util.Elements elementUtils, BuilderMethodClassifier builderMethodClassifier, com.google.common.collect.ImmutableBiMap<javax.lang.model.element.ExecutableElement,java.lang.String> getterToPropertyName, EclipseHack eclipseHack)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.util.Optional<javax.lang.model.element.ExecutableElement>addAllPutAll(javax.lang.model.element.TypeElement barBuilderTypeElement)private java.util.Optional<javax.lang.model.element.ExecutableElement>builderMaker(java.util.Map<java.lang.String,javax.lang.model.element.ExecutableElement> barNoArgMethods, javax.lang.model.element.TypeElement barBuilderTypeElement)private static booleanisNullable(javax.lang.model.element.ExecutableElement getter)(package private) java.util.Optional<PropertyBuilderClassifier.PropertyBuilder>makePropertyBuilder(javax.lang.model.element.ExecutableElement method, java.lang.String property)private java.util.Map<java.lang.String,javax.lang.model.element.ExecutableElement>noArgMethodsOf(javax.lang.model.element.TypeElement type)
-
-
-
Field Detail
-
errorReporter
private final ErrorReporter errorReporter
-
typeUtils
private final javax.lang.model.util.Types typeUtils
-
elementUtils
private final javax.lang.model.util.Elements elementUtils
-
builderMethodClassifier
private final BuilderMethodClassifier builderMethodClassifier
-
getterToPropertyName
private final com.google.common.collect.ImmutableBiMap<javax.lang.model.element.ExecutableElement,java.lang.String> getterToPropertyName
-
eclipseHack
private final EclipseHack eclipseHack
-
COM_GOOGLE_COMMON_COLLECT_IMMUTABLE
private static final java.lang.String COM_GOOGLE_COMMON_COLLECT_IMMUTABLE
-
BUILDER_METHOD_NAMES
private static final com.google.common.collect.ImmutableSet<java.lang.String> BUILDER_METHOD_NAMES
-
-
Constructor Detail
-
PropertyBuilderClassifier
PropertyBuilderClassifier(ErrorReporter errorReporter, javax.lang.model.util.Types typeUtils, javax.lang.model.util.Elements elementUtils, BuilderMethodClassifier builderMethodClassifier, com.google.common.collect.ImmutableBiMap<javax.lang.model.element.ExecutableElement,java.lang.String> getterToPropertyName, EclipseHack eclipseHack)
-
-
Method Detail
-
makePropertyBuilder
java.util.Optional<PropertyBuilderClassifier.PropertyBuilder> makePropertyBuilder(javax.lang.model.element.ExecutableElement method, java.lang.String property)
-
builderMaker
private java.util.Optional<javax.lang.model.element.ExecutableElement> builderMaker(java.util.Map<java.lang.String,javax.lang.model.element.ExecutableElement> barNoArgMethods, javax.lang.model.element.TypeElement barBuilderTypeElement)
-
noArgMethodsOf
private java.util.Map<java.lang.String,javax.lang.model.element.ExecutableElement> noArgMethodsOf(javax.lang.model.element.TypeElement type)
-
addAllPutAll
private java.util.Optional<javax.lang.model.element.ExecutableElement> addAllPutAll(javax.lang.model.element.TypeElement barBuilderTypeElement)
-
isNullable
private static boolean isNullable(javax.lang.model.element.ExecutableElement getter)
-
-