Class Processor

  • All Implemented Interfaces:
    javax.annotation.processing.Processor

    @SupportedSourceVersion(RELEASE_8)
    @Service(javax.annotation.processing.Processor.class)
    public final class Processor
    extends javax.annotation.processing.AbstractProcessor
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Parser parser  
      • Fields inherited from class javax.annotation.processing.AbstractProcessor

        processingEnv
    • Constructor Summary

      Constructors 
      Constructor Description
      Processor()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void generateTemplateType​(javax.lang.model.element.TypeElement templateType)  
      java.util.Set<java.lang.String> getSupportedAnnotationTypes()  
      private java.lang.String getTemplateText​(javax.annotation.processing.Filer filer, javax.lang.model.element.TypeElement templateType, javax.lang.model.element.PackageElement packageElement)  
      private ImmutableTrees.Unit parseUnit​(java.lang.String templateText)  
      boolean process​(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment round)  
      private void processTemplates​(java.util.Set<? extends javax.lang.model.element.Element> templates)  
      private java.lang.String readCharContent​(javax.tools.FileObject resource)  
      private java.lang.String readTemplateResource​(javax.lang.model.element.TypeElement templateType, SwissArmyKnife knife)  
      private ImmutableTrees.Unit transformUnit​(SwissArmyKnife knife, ImmutableTrees.Unit unit)  
      • Methods inherited from class javax.annotation.processing.AbstractProcessor

        getCompletions, getSupportedOptions, getSupportedSourceVersion, init, isInitialized
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • parser

        private final Parser parser
    • Constructor Detail

      • Processor

        public Processor()
    • Method Detail

      • getSupportedAnnotationTypes

        public java.util.Set<java.lang.String> getSupportedAnnotationTypes()
        Specified by:
        getSupportedAnnotationTypes in interface javax.annotation.processing.Processor
        Overrides:
        getSupportedAnnotationTypes in class javax.annotation.processing.AbstractProcessor
      • process

        public boolean process​(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations,
                               javax.annotation.processing.RoundEnvironment round)
        Specified by:
        process in interface javax.annotation.processing.Processor
        Specified by:
        process in class javax.annotation.processing.AbstractProcessor
      • processTemplates

        private void processTemplates​(java.util.Set<? extends javax.lang.model.element.Element> templates)
      • generateTemplateType

        private void generateTemplateType​(javax.lang.model.element.TypeElement templateType)
                                   throws java.io.IOException,
                                          java.lang.Exception
        Throws:
        java.io.IOException
        java.lang.Exception
      • readTemplateResource

        private java.lang.String readTemplateResource​(javax.lang.model.element.TypeElement templateType,
                                                      SwissArmyKnife knife)
                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • readCharContent

        private java.lang.String readCharContent​(javax.tools.FileObject resource)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • getTemplateText

        private java.lang.String getTemplateText​(javax.annotation.processing.Filer filer,
                                                 javax.lang.model.element.TypeElement templateType,
                                                 javax.lang.model.element.PackageElement packageElement)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • parseUnit

        private ImmutableTrees.Unit parseUnit​(java.lang.String templateText)
                                       throws java.lang.Exception
        Throws:
        java.lang.Exception