Class GroovyVisitorContext

  • 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.VisitorContext, io.micronaut.inject.writer.ClassWriterOutputVisitor, java.lang.Iterable<java.util.Map.Entry<java.lang.String,​java.lang.Object>>

    public class GroovyVisitorContext
    extends java.lang.Object
    implements io.micronaut.inject.visitor.VisitorContext
    The visitor context when visiting Groovy 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
      GroovyVisitorContext​(org.codehaus.groovy.control.SourceUnit sourceUnit, org.codehaus.groovy.control.CompilationUnit compilationUnit)  
      GroovyVisitorContext​(org.codehaus.groovy.control.SourceUnit sourceUnit, org.codehaus.groovy.control.CompilationUnit compilationUnit, io.micronaut.inject.writer.ClassWriterOutputVisitor outputVisitor)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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)  
      java.util.List<io.micronaut.inject.writer.AbstractBeanDefinitionBuilder> getBeanElementBuilders()  
      java.util.Optional<io.micronaut.inject.ast.ClassElement> getClassElement​(java.lang.Class<?> type)  
      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)  
      org.codehaus.groovy.control.CompilationUnit getCompilationUnit()  
      GroovyElementFactory getElementFactory()  
      java.util.Collection<java.lang.String> getGeneratedResources()  
      java.util.Map<java.lang.String,​java.lang.String> getOptions()
      Groovy options source are System.getProperties() based.
      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

        getClassesOutputPath, getConfiguration, getProjectDir, visitMetaInfFile
    • Constructor Detail

      • GroovyVisitorContext

        public GroovyVisitorContext​(org.codehaus.groovy.control.SourceUnit sourceUnit,
                                    @Nullable
                                    org.codehaus.groovy.control.CompilationUnit compilationUnit)
        Parameters:
        sourceUnit - The source unit
        compilationUnit - The compilation unit
      • GroovyVisitorContext

        public GroovyVisitorContext​(org.codehaus.groovy.control.SourceUnit sourceUnit,
                                    @Nullable
                                    org.codehaus.groovy.control.CompilationUnit compilationUnit,
                                    io.micronaut.inject.writer.ClassWriterOutputVisitor outputVisitor)
        Parameters:
        sourceUnit - The source unit
        compilationUnit - The compilation unit
        outputVisitor - The class writer output visitor
    • Method Detail

      • 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
      • getClassElement

        public java.util.Optional<io.micronaut.inject.ast.ClassElement> getClassElement​(java.lang.Class<?> type)
        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 GroovyElementFactory 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
      • getCompilationUnit

        @Internal
        public org.codehaus.groovy.control.CompilationUnit getCompilationUnit()
        Returns:
        The compilation unit
      • getOptions

        public java.util.Map<java.lang.String,​java.lang.String> getOptions()
        Groovy options source are System.getProperties() based.

        All properties MUST start with VisitorContext.MICRONAUT_BASE_OPTION_NAME

        Specified by:
        getOptions in interface io.micronaut.inject.visitor.VisitorContext
        Returns:
        options Map
      • 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.