Class JavaVisitorContext

  • All Implemented Interfaces:
    io.micronaut.core.convert.value.ConvertibleValues<java.lang.Object>, io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object>, io.micronaut.core.value.ValueResolver<java.lang.CharSequence>, io.micronaut.inject.visitor.BeanElementVisitorContext, io.micronaut.inject.visitor.VisitorContext, io.micronaut.inject.writer.ClassWriterOutputVisitor, java.lang.Iterable<java.util.Map.Entry<java.lang.String,​java.lang.Object>>

    @Internal
    public class JavaVisitorContext
    extends java.lang.Object
    implements io.micronaut.inject.visitor.VisitorContext, io.micronaut.inject.visitor.BeanElementVisitorContext
    The visitor context when visiting Java code.
    Since:
    1.0
    • Field Summary

      • Fields inherited from interface io.micronaut.core.convert.value.ConvertibleValues

        EMPTY
      • Fields inherited from interface io.micronaut.inject.visitor.VisitorContext

        MICRONAUT_BASE_OPTION_NAME, MICRONAUT_PROCESSING_GROUP, MICRONAUT_PROCESSING_MODULE, MICRONAUT_PROCESSING_PROJECT_DIR
    • Constructor Summary

      Constructors 
      Constructor Description
      JavaVisitorContext​(javax.annotation.processing.ProcessingEnvironment processingEnv, javax.annotation.processing.Messager messager, javax.lang.model.util.Elements elements, AnnotationUtils annotationUtils, javax.lang.model.util.Types types, ModelUtils modelUtils, GenericUtils genericUtils, javax.annotation.processing.Filer filer, io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> visitorAttributes, io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind visitorKind)
      The default constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      io.micronaut.inject.ast.beans.BeanElementBuilder addAssociatedBean​(io.micronaut.inject.ast.Element originatingElement, io.micronaut.inject.ast.ClassElement type)  
      void addGeneratedResource​(java.lang.String resource)  
      io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> clear()  
      void fail​(java.lang.String message, io.micronaut.inject.ast.Element element)  
      void finish()  
      <T> java.util.Optional<T> get​(java.lang.CharSequence name, io.micronaut.core.convert.ArgumentConversionContext<T> conversionContext)  
      AnnotationUtils getAnnotationUtils()
      The annotation utils.
      java.util.List<io.micronaut.inject.writer.AbstractBeanDefinitionBuilder> getBeanElementBuilders()  
      java.util.Optional<io.micronaut.inject.ast.ClassElement> getClassElement​(java.lang.String name)  
      io.micronaut.inject.ast.ClassElement[] getClassElements​(java.lang.String aPackage, java.lang.String... stereotypes)  
      java.lang.Iterable<java.net.URL> getClasspathResources​(java.lang.String path)  
      JavaElementFactory getElementFactory()  
      javax.lang.model.util.Elements getElements()
      The elements.
      java.util.Collection<java.lang.String> getGeneratedResources()  
      GenericUtils getGenericUtils()
      The generic utils object.
      javax.annotation.processing.Messager getMessager()
      The messager.
      ModelUtils getModelUtils()
      The model utils.
      java.util.Map<java.lang.String,​java.lang.String> getOptions()
      Java visitor context options from javac arguments and System.getProperties()
      javax.annotation.processing.ProcessingEnvironment getProcessingEnv()  
      javax.lang.model.util.Types getTypes()
      The types.
      io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind getVisitorKind()  
      void info​(java.lang.String message)  
      void info​(java.lang.String message, io.micronaut.inject.ast.Element element)  
      java.util.Set<java.lang.String> names()  
      io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> put​(java.lang.CharSequence key, java.lang.Object value)  
      io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> remove​(java.lang.CharSequence key)  
      java.util.Collection<java.lang.Object> values()  
      java.io.OutputStream visitClass​(java.lang.String classname, io.micronaut.inject.ast.Element originatingElement)  
      java.io.OutputStream visitClass​(java.lang.String classname, io.micronaut.inject.ast.Element... originatingElements)  
      java.util.Optional<io.micronaut.inject.writer.GeneratedFile> visitGeneratedFile​(java.lang.String path)  
      java.util.Optional<io.micronaut.inject.writer.GeneratedFile> visitMetaInfFile​(java.lang.String path, io.micronaut.inject.ast.Element... originatingElements)  
      void visitServiceDescriptor​(java.lang.String type, java.lang.String classname)  
      void visitServiceDescriptor​(java.lang.String type, java.lang.String classname, io.micronaut.inject.ast.Element originatingElement)  
      void warn​(java.lang.String message, io.micronaut.inject.ast.Element element)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.micronaut.inject.writer.ClassWriterOutputVisitor

        getServiceEntries, visitClass, visitServiceDescriptor, visitServiceDescriptor
      • Methods inherited from interface io.micronaut.core.convert.value.ConvertibleValues

        asMap, asMap, asProperties, contains, forEach, getValue, getValueType, isEmpty, iterator, subMap, subMap, subMap
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
      • Methods inherited from interface io.micronaut.core.convert.value.MutableConvertibleValues

        putAll, putAll
      • Methods inherited from interface io.micronaut.core.value.ValueResolver

        get, get, get
      • Methods inherited from interface io.micronaut.inject.visitor.VisitorContext

        getClassElement, getClassesOutputPath, getConfiguration, getProjectDir, visitMetaInfFile
    • Constructor Detail

      • JavaVisitorContext

        public JavaVisitorContext​(javax.annotation.processing.ProcessingEnvironment processingEnv,
                                  javax.annotation.processing.Messager messager,
                                  javax.lang.model.util.Elements elements,
                                  AnnotationUtils annotationUtils,
                                  javax.lang.model.util.Types types,
                                  ModelUtils modelUtils,
                                  GenericUtils genericUtils,
                                  javax.annotation.processing.Filer filer,
                                  io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> visitorAttributes,
                                  io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind visitorKind)
        The default constructor.
        Parameters:
        processingEnv - The processing environment
        messager - The messager
        elements - The elements
        annotationUtils - The annotation utils
        types - Type types
        modelUtils - The model utils
        genericUtils - The generic type utils
        filer - The filer
        visitorAttributes - The attributes
        visitorKind - The visitor kind
    • Method Detail

      • getVisitorKind

        public io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind getVisitorKind()
        Returns:
        The visitor kind
      • getProcessingEnv

        public javax.annotation.processing.ProcessingEnvironment getProcessingEnv()
        Returns:
        The processing environment
      • getClasspathResources

        @NonNull
        public java.lang.Iterable<java.net.URL> getClasspathResources​(@NonNull
                                                                      java.lang.String path)
        Specified by:
        getClasspathResources in interface io.micronaut.inject.visitor.VisitorContext
      • getClassElement

        public java.util.Optional<io.micronaut.inject.ast.ClassElement> getClassElement​(java.lang.String name)
        Specified by:
        getClassElement in interface io.micronaut.inject.visitor.VisitorContext
      • getClassElements

        @NonNull
        public io.micronaut.inject.ast.ClassElement[] getClassElements​(@NonNull
                                                                       java.lang.String aPackage,
                                                                       @NonNull
                                                                       java.lang.String... stereotypes)
        Specified by:
        getClassElements in interface io.micronaut.inject.visitor.VisitorContext
      • getElementFactory

        @NonNull
        public JavaElementFactory getElementFactory()
        Specified by:
        getElementFactory in interface io.micronaut.inject.visitor.VisitorContext
      • info

        public void info​(java.lang.String message,
                         @Nullable
                         io.micronaut.inject.ast.Element element)
        Specified by:
        info in interface io.micronaut.inject.visitor.VisitorContext
      • info

        public void info​(java.lang.String message)
        Specified by:
        info in interface io.micronaut.inject.visitor.VisitorContext
      • fail

        public void fail​(java.lang.String message,
                         @Nullable
                         io.micronaut.inject.ast.Element element)
        Specified by:
        fail in interface io.micronaut.inject.visitor.VisitorContext
      • warn

        public void warn​(java.lang.String message,
                         @Nullable
                         io.micronaut.inject.ast.Element element)
        Specified by:
        warn in interface io.micronaut.inject.visitor.VisitorContext
      • visitClass

        public java.io.OutputStream visitClass​(java.lang.String classname,
                                               @Nullable
                                               io.micronaut.inject.ast.Element originatingElement)
                                        throws java.io.IOException
        Specified by:
        visitClass in interface io.micronaut.inject.writer.ClassWriterOutputVisitor
        Throws:
        java.io.IOException
      • visitClass

        public java.io.OutputStream visitClass​(java.lang.String classname,
                                               io.micronaut.inject.ast.Element... originatingElements)
                                        throws java.io.IOException
        Specified by:
        visitClass in interface io.micronaut.inject.writer.ClassWriterOutputVisitor
        Throws:
        java.io.IOException
      • visitServiceDescriptor

        public void visitServiceDescriptor​(java.lang.String type,
                                           java.lang.String classname)
        Specified by:
        visitServiceDescriptor in interface io.micronaut.inject.writer.ClassWriterOutputVisitor
      • visitServiceDescriptor

        public void visitServiceDescriptor​(java.lang.String type,
                                           java.lang.String classname,
                                           io.micronaut.inject.ast.Element originatingElement)
        Specified by:
        visitServiceDescriptor in interface io.micronaut.inject.writer.ClassWriterOutputVisitor
      • visitMetaInfFile

        public java.util.Optional<io.micronaut.inject.writer.GeneratedFile> visitMetaInfFile​(java.lang.String path,
                                                                                             io.micronaut.inject.ast.Element... originatingElements)
        Specified by:
        visitMetaInfFile in interface io.micronaut.inject.writer.ClassWriterOutputVisitor
        Specified by:
        visitMetaInfFile in interface io.micronaut.inject.visitor.VisitorContext
      • visitGeneratedFile

        public java.util.Optional<io.micronaut.inject.writer.GeneratedFile> visitGeneratedFile​(java.lang.String path)
        Specified by:
        visitGeneratedFile in interface io.micronaut.inject.writer.ClassWriterOutputVisitor
        Specified by:
        visitGeneratedFile in interface io.micronaut.inject.visitor.VisitorContext
      • finish

        public void finish()
        Specified by:
        finish in interface io.micronaut.inject.writer.ClassWriterOutputVisitor
      • getMessager

        public javax.annotation.processing.Messager getMessager()
        The messager.
        Returns:
        The messager
      • getModelUtils

        public ModelUtils getModelUtils()
        The model utils.
        Returns:
        The model utils
      • getElements

        public javax.lang.model.util.Elements getElements()
        The elements.
        Returns:
        The elements
      • getAnnotationUtils

        public AnnotationUtils getAnnotationUtils()
        The annotation utils.
        Returns:
        The annotation utils
      • getTypes

        public javax.lang.model.util.Types getTypes()
        The types.
        Returns:
        The types
      • getGenericUtils

        public GenericUtils getGenericUtils()
        The generic utils object.
        Returns:
        The generic utils
      • getOptions

        public java.util.Map<java.lang.String,​java.lang.String> getOptions()
        Java visitor context options from javac arguments and System.getProperties()

        System properties has priority over arguments.

        Specified by:
        getOptions in interface io.micronaut.inject.visitor.VisitorContext
        Returns:
        Java visitor context options for all visitors
        See Also:
        TypeElementVisitor, javac arguments
      • put

        public io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> put​(java.lang.CharSequence key,
                                                                                              @Nullable
                                                                                              java.lang.Object value)
        Specified by:
        put in interface io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object>
      • remove

        public io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> remove​(java.lang.CharSequence key)
        Specified by:
        remove in interface io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object>
      • clear

        public io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> clear()
        Specified by:
        clear in interface io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object>
      • names

        public java.util.Set<java.lang.String> names()
        Specified by:
        names in interface io.micronaut.core.convert.value.ConvertibleValues<java.lang.Object>
      • values

        public java.util.Collection<java.lang.Object> values()
        Specified by:
        values in interface io.micronaut.core.convert.value.ConvertibleValues<java.lang.Object>
      • get

        public <T> java.util.Optional<T> get​(java.lang.CharSequence name,
                                             io.micronaut.core.convert.ArgumentConversionContext<T> conversionContext)
        Specified by:
        get in interface io.micronaut.core.value.ValueResolver<java.lang.CharSequence>
      • getGeneratedResources

        public java.util.Collection<java.lang.String> getGeneratedResources()
        Specified by:
        getGeneratedResources in interface io.micronaut.inject.visitor.VisitorContext
      • addGeneratedResource

        public void addGeneratedResource​(@NonNull
                                         java.lang.String resource)
        Specified by:
        addGeneratedResource in interface io.micronaut.inject.visitor.VisitorContext
      • getBeanElementBuilders

        @Internal
        public java.util.List<io.micronaut.inject.writer.AbstractBeanDefinitionBuilder> getBeanElementBuilders()
        Returns:
        Gets the produced bean definition builders.
      • addAssociatedBean

        public io.micronaut.inject.ast.beans.BeanElementBuilder addAssociatedBean​(io.micronaut.inject.ast.Element originatingElement,
                                                                                  io.micronaut.inject.ast.ClassElement type)
        Specified by:
        addAssociatedBean in interface io.micronaut.inject.visitor.BeanElementVisitorContext