Class BaseProcessor

  • All Implemented Interfaces:
    javax.annotation.processing.Processor
    Direct Known Subclasses:
    DocGenProcessor, JavaDocGenProcessor

    public abstract class BaseProcessor
    extends javax.annotation.processing.AbstractProcessor
    Author:
    Julien Viet
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected com.sun.source.util.DocTrees docTrees  
      protected io.vertx.docgen.Helper helper  
      protected java.util.Set<PostProcessor> postProcessors  
      protected java.util.Map<java.lang.String,​io.vertx.docgen.BaseProcessor.ElementResolution> resolutions  
      protected java.util.List<java.lang.String> sources  
      protected io.vertx.docgen.Syntax syntax  
      • Fields inherited from class javax.annotation.processing.AbstractProcessor

        processingEnv
    • Constructor Summary

      Constructors 
      Constructor Description
      BaseProcessor()  
    • Field Detail

      • docTrees

        protected com.sun.source.util.DocTrees docTrees
      • helper

        protected io.vertx.docgen.Helper helper
      • sources

        protected java.util.List<java.lang.String> sources
      • postProcessors

        protected java.util.Set<PostProcessor> postProcessors
      • resolutions

        protected java.util.Map<java.lang.String,​io.vertx.docgen.BaseProcessor.ElementResolution> resolutions
      • syntax

        protected io.vertx.docgen.Syntax syntax
    • Constructor Detail

      • BaseProcessor

        public BaseProcessor()
    • Method Detail

      • getSupportedSourceVersion

        public javax.lang.model.SourceVersion getSupportedSourceVersion()
        Specified by:
        getSupportedSourceVersion in interface javax.annotation.processing.Processor
        Overrides:
        getSupportedSourceVersion in class javax.annotation.processing.AbstractProcessor
      • getSupportedOptions

        public java.util.Set<java.lang.String> getSupportedOptions()
        Specified by:
        getSupportedOptions in interface javax.annotation.processing.Processor
        Overrides:
        getSupportedOptions in class javax.annotation.processing.AbstractProcessor
      • 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
      • getPostProcessor

        public PostProcessor getPostProcessor​(java.lang.String name)
      • init

        public void init​(javax.annotation.processing.ProcessingEnvironment processingEnv)
        Specified by:
        init in interface javax.annotation.processing.Processor
        Overrides:
        init in class javax.annotation.processing.AbstractProcessor
      • process

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

        protected abstract java.lang.Iterable<DocGenerator> generators()
      • getExtension

        protected java.lang.String getExtension()
        Returns:
        the extension obtained from processor option docgen.extension defaults to .adoc when absent.
      • resolveLinkToPackageDoc

        protected java.lang.String resolveLinkToPackageDoc​(javax.lang.model.element.PackageElement elt)
      • postProcess

        protected java.lang.String postProcess​(java.lang.String name,
                                               java.lang.String content)
      • write

        protected void write​(DocGenerator generator,
                             io.vertx.docgen.BaseProcessor.Doc doc,
                             java.lang.String content)
      • applyPostProcessors

        protected java.lang.String applyPostProcessors​(java.lang.String name2,
                                                       java.lang.String content)
        Apply post-processors.
        Parameters:
        content - the (asciidoc) content
        Returns:
        the content after post-processing.
      • applyVariableSubstitution

        public java.lang.String applyVariableSubstitution​(java.lang.String content)
        Replace `@{var} by the variable value passed to the annotation processor.
        Parameters:
        content - the content
        Returns:
        the content with variable values