class ExtensionContext extends java.lang.Object implements AutoValueExtension.Context
Modifier and Type | Field and Description |
---|---|
private com.google.common.collect.ImmutableSet<javax.lang.model.element.ExecutableElement> |
abstractMethods |
private javax.annotation.processing.ProcessingEnvironment |
processingEnvironment |
private com.google.common.collect.ImmutableMap<java.lang.String,javax.lang.model.element.ExecutableElement> |
properties |
private javax.lang.model.element.TypeElement |
typeElement |
Constructor and Description |
---|
ExtensionContext(javax.annotation.processing.ProcessingEnvironment processingEnvironment,
javax.lang.model.element.TypeElement typeElement,
com.google.common.collect.ImmutableMap<java.lang.String,javax.lang.model.element.ExecutableElement> properties,
com.google.common.collect.ImmutableSet<javax.lang.model.element.ExecutableElement> abstractMethods) |
Modifier and Type | Method and Description |
---|---|
java.util.Set<javax.lang.model.element.ExecutableElement> |
abstractMethods()
Returns the complete set of abstract methods defined in or inherited by the
@AutoValue class. |
javax.lang.model.element.TypeElement |
autoValueClass()
Returns the annotated class that this generation cycle is based on.
|
java.lang.String |
packageName()
Returns the package name of the classes to be generated.
|
javax.annotation.processing.ProcessingEnvironment |
processingEnvironment()
Returns the processing environment of this generation cycle.
|
java.util.Map<java.lang.String,javax.lang.model.element.ExecutableElement> |
properties()
Returns the ordered collection of properties to be generated by AutoValue.
|
private final javax.annotation.processing.ProcessingEnvironment processingEnvironment
private final javax.lang.model.element.TypeElement typeElement
private final com.google.common.collect.ImmutableMap<java.lang.String,javax.lang.model.element.ExecutableElement> properties
private final com.google.common.collect.ImmutableSet<javax.lang.model.element.ExecutableElement> abstractMethods
ExtensionContext(javax.annotation.processing.ProcessingEnvironment processingEnvironment, javax.lang.model.element.TypeElement typeElement, com.google.common.collect.ImmutableMap<java.lang.String,javax.lang.model.element.ExecutableElement> properties, com.google.common.collect.ImmutableSet<javax.lang.model.element.ExecutableElement> abstractMethods)
public javax.annotation.processing.ProcessingEnvironment processingEnvironment()
AutoValueExtension.Context
ProcessingEnvironment.getMessager()
.processingEnvironment
in interface AutoValueExtension.Context
public java.lang.String packageName()
AutoValueExtension.Context
packageName
in interface AutoValueExtension.Context
public javax.lang.model.element.TypeElement autoValueClass()
AutoValueExtension.Context
Given @AutoValue public class Foo {...}
, this will be Foo
.
autoValueClass
in interface AutoValueExtension.Context
public java.util.Map<java.lang.String,javax.lang.model.element.ExecutableElement> properties()
AutoValueExtension.Context
bar
is defined by abstract String getBar()
then this
map will have an entry mapping "bar"
to the ExecutableElement
for
getBar()
.properties
in interface AutoValueExtension.Context
public java.util.Set<javax.lang.model.element.ExecutableElement> abstractMethods()
AutoValueExtension.Context
@AutoValue
class. This includes all methods that define properties
(like abstract String getBar()
), any abstract toBuilder()
method, and any
other abstract method even if it has been consumed by this or another Extension.abstractMethods
in interface AutoValueExtension.Context