Class GroovyVisitorContext

java.lang.Object
io.micronaut.ast.groovy.visitor.GroovyVisitorContext
All Implemented Interfaces:
io.micronaut.core.convert.ConversionServiceProvider, io.micronaut.core.convert.value.ConvertibleValues<Object>, io.micronaut.core.convert.value.MutableConvertibleValues<Object>, io.micronaut.core.value.ValueResolver<CharSequence>, io.micronaut.inject.visitor.VisitorContext, io.micronaut.inject.writer.ClassWriterOutputVisitor, Iterable<Map.Entry<String,Object>>

@Internal public class GroovyVisitorContext extends Object implements io.micronaut.inject.visitor.VisitorContext
The visitor context when visiting Groovy code.
Since:
1.0
  • Constructor Details

    • GroovyVisitorContext

      public GroovyVisitorContext(org.codehaus.groovy.control.SourceUnit sourceUnit, @Nullable @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 @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 Details

    • getClasspathResources

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

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

      public Optional<io.micronaut.inject.ast.ClassElement> getClassElement(String name, io.micronaut.inject.ast.annotation.ElementAnnotationMetadataFactory annotationMetadataFactory)
      Specified by:
      getClassElement in interface io.micronaut.inject.visitor.VisitorContext
    • getClassElement

      public Optional<io.micronaut.inject.ast.ClassElement> getClassElement(Class<?> type)
      Specified by:
      getClassElement in interface io.micronaut.inject.visitor.VisitorContext
    • getClassElements

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

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

      @NonNull public @NonNull GroovyElementAnnotationMetadataFactory getElementAnnotationMetadataFactory()
      Specified by:
      getElementAnnotationMetadataFactory in interface io.micronaut.inject.visitor.VisitorContext
    • getExpressionCompilationContextFactory

      public io.micronaut.expressions.context.ExpressionCompilationContextFactory getExpressionCompilationContextFactory()
      Specified by:
      getExpressionCompilationContextFactory in interface io.micronaut.inject.visitor.VisitorContext
    • getAnnotationMetadataBuilder

      public io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder getAnnotationMetadataBuilder()
      Specified by:
      getAnnotationMetadataBuilder in interface io.micronaut.inject.visitor.VisitorContext
    • info

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

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

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

      public final void fail(String message, org.codehaus.groovy.ast.ASTNode expr)
    • warn

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

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

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

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

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

      public Optional<io.micronaut.inject.writer.GeneratedFile> visitMetaInfFile(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 Optional<io.micronaut.inject.writer.GeneratedFile> visitGeneratedFile(String path)
      Specified by:
      visitGeneratedFile in interface io.micronaut.inject.writer.ClassWriterOutputVisitor
      Specified by:
      visitGeneratedFile in interface io.micronaut.inject.visitor.VisitorContext
    • visitGeneratedFile

      public Optional<io.micronaut.inject.writer.GeneratedFile> visitGeneratedFile(String path, io.micronaut.inject.ast.Element... originatingElements)
      Specified by:
      visitGeneratedFile in interface io.micronaut.inject.writer.ClassWriterOutputVisitor
    • 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 Map<String,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<Object> put(CharSequence key, @Nullable @Nullable Object value)
      Specified by:
      put in interface io.micronaut.core.convert.value.MutableConvertibleValues<Object>
    • remove

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

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

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

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

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

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

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

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