Class ExtensionContext

    • 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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, using ProcessingEnvironment.getMessager().
        Specified by:
        processingEnvironment in interface AutoValueExtension.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 be Foo.

        Specified by:
        autoValueClass in interface AutoValueExtension.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 property bar is defined by abstract String getBar() then this map will have an entry mapping "bar" to the ExecutableElement for getBar().
        Specified by:
        properties in interface AutoValueExtension.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 (like abstract String getBar()), any abstract toBuilder() method, and any other abstract method even if it has been consumed by this or another Extension.
        Specified by:
        abstractMethods in interface AutoValueExtension.Context