class BuilderSpec
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) class |
BuilderSpec.Builder
Representation of an
AutoValue.Builder class or interface. |
class |
BuilderSpec.PropertyBuilder
Information about a property builder, referenced from the autovalue.vm template.
|
class |
BuilderSpec.PropertySetter
Information about a property setter, referenced from the autovalue.vm template.
|
Modifier and Type | Field and Description |
---|---|
private javax.lang.model.element.TypeElement |
autoValueClass |
private static java.util.Set<javax.lang.model.element.ElementKind> |
CLASS_OR_INTERFACE |
private ErrorReporter |
errorReporter |
private javax.annotation.processing.ProcessingEnvironment |
processingEnv |
Constructor and Description |
---|
BuilderSpec(javax.lang.model.element.TypeElement autoValueClass,
javax.annotation.processing.ProcessingEnvironment processingEnv,
ErrorReporter errorReporter) |
Modifier and Type | Method and Description |
---|---|
private java.util.List<javax.lang.model.element.ExecutableElement> |
abstractMethods(javax.lang.model.element.TypeElement typeElement) |
private void |
addAbstractMethods(javax.lang.model.type.TypeMirror typeMirror,
java.util.List<javax.lang.model.element.ExecutableElement> abstractMethods) |
private com.google.common.base.Optional<BuilderSpec.Builder> |
builderFrom(javax.lang.model.element.TypeElement builderTypeElement)
Returns a representation of the given
@AutoValue.Builder class or interface. |
(package private) com.google.common.base.Optional<BuilderSpec.Builder> |
getBuilder()
Determines if the
@AutoValue class for this instance has a correct nested
@AutoValue.Builder class or interface and return a representation of it in an
Optional if so. |
private java.lang.String |
typeParamsString() |
private final javax.lang.model.element.TypeElement autoValueClass
private final javax.annotation.processing.ProcessingEnvironment processingEnv
private final ErrorReporter errorReporter
private static final java.util.Set<javax.lang.model.element.ElementKind> CLASS_OR_INTERFACE
BuilderSpec(javax.lang.model.element.TypeElement autoValueClass, javax.annotation.processing.ProcessingEnvironment processingEnv, ErrorReporter errorReporter)
com.google.common.base.Optional<BuilderSpec.Builder> getBuilder()
@AutoValue
class for this instance has a correct nested
@AutoValue.Builder
class or interface and return a representation of it in an
Optional
if so.private com.google.common.base.Optional<BuilderSpec.Builder> builderFrom(javax.lang.model.element.TypeElement builderTypeElement)
@AutoValue.Builder
class or interface. If the
class or interface has abstract methods that could not be part of any builder, emits error
messages and returns null.private java.util.List<javax.lang.model.element.ExecutableElement> abstractMethods(javax.lang.model.element.TypeElement typeElement)
private void addAbstractMethods(javax.lang.model.type.TypeMirror typeMirror, java.util.List<javax.lang.model.element.ExecutableElement> abstractMethods)
private java.lang.String typeParamsString()