Package com.google.auto.value.processor
Class ExtensionContext
- java.lang.Object
-
- com.google.auto.value.processor.ExtensionContext
-
- All Implemented Interfaces:
AutoValueExtension.Context
class ExtensionContext extends java.lang.Object implements AutoValueExtension.Context
-
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor 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)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.
-
-
-
Field Detail
-
processingEnvironment
private final javax.annotation.processing.ProcessingEnvironment processingEnvironment
-
typeElement
private final javax.lang.model.element.TypeElement typeElement
-
properties
private final com.google.common.collect.ImmutableMap<java.lang.String,javax.lang.model.element.ExecutableElement> properties
-
abstractMethods
private final com.google.common.collect.ImmutableSet<javax.lang.model.element.ExecutableElement> abstractMethods
-
-
Constructor Detail
-
ExtensionContext
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)
-
-
Method Detail
-
processingEnvironment
public javax.annotation.processing.ProcessingEnvironment processingEnvironment()
Description copied from interface:AutoValueExtension.Context
Returns the processing environment of this generation cycle. This can be used, among other things, to produce compilation warnings or errors, usingProcessingEnvironment.getMessager()
.- Specified by:
processingEnvironment
in interfaceAutoValueExtension.Context
-
packageName
public java.lang.String packageName()
Description copied from interface:AutoValueExtension.Context
Returns the package name of the classes to be generated.- Specified by:
packageName
in interfaceAutoValueExtension.Context
-
autoValueClass
public javax.lang.model.element.TypeElement autoValueClass()
Description copied from interface:AutoValueExtension.Context
Returns the annotated class that this generation cycle is based on.Given
@AutoValue public class Foo {...}
, this will beFoo
.- Specified by:
autoValueClass
in interfaceAutoValueExtension.Context
-
properties
public java.util.Map<java.lang.String,javax.lang.model.element.ExecutableElement> properties()
Description copied from interface:AutoValueExtension.Context
Returns the ordered collection of properties to be generated by AutoValue. Each key is a property name, and the corresponding value is the getter method for that property. For example, if propertybar
is defined byabstract String getBar()
then this map will have an entry mapping"bar"
to theExecutableElement
forgetBar()
.- Specified by:
properties
in interfaceAutoValueExtension.Context
-
abstractMethods
public java.util.Set<javax.lang.model.element.ExecutableElement> abstractMethods()
Description copied from interface:AutoValueExtension.Context
Returns the complete set of abstract methods defined in or inherited by the@AutoValue
class. This includes all methods that define properties (likeabstract String getBar()
), any abstracttoBuilder()
method, and any other abstract method even if it has been consumed by this or another Extension.- Specified by:
abstractMethods
in interfaceAutoValueExtension.Context
-
-