Class AbstractAzureFunction

java.lang.Object
io.micronaut.starter.feature.function.AbstractFunctionFeature
io.micronaut.starter.feature.function.azure.AbstractAzureFunction
All Implemented Interfaces:
io.micronaut.core.naming.Described, io.micronaut.core.naming.Named, io.micronaut.core.order.Ordered, Feature, AzureCloudFeature, AzureMicronautRuntimeFeature, CloudFeature, FunctionFeature, MicronautRuntimeFeature
Direct Known Subclasses:
AzureHttpFunction, AzureRawFunction

public abstract class AbstractAzureFunction extends AbstractFunctionFeature implements AzureCloudFeature, AzureMicronautRuntimeFeature
Function impl for Azure.
Since:
1.0.0
Author:
graemerocher
  • Field Details

  • Constructor Details

    • AbstractAzureFunction

      public AbstractAzureFunction(CoordinateResolver coordinateResolver)
  • Method Details

    • getName

      @NonNull public @NonNull String getName()
      Description copied from interface: Feature
      The name of the feature. It must be unique.
      Specified by:
      getName in interface Feature
      Specified by:
      getName in interface io.micronaut.core.naming.Named
      Returns:
      the name of the feature
    • getTitle

      public String getTitle()
      Specified by:
      getTitle in interface Feature
      Returns:
      The title of the feature
    • getDescription

      @NonNull public @NonNull String getDescription()
      Specified by:
      getDescription in interface io.micronaut.core.naming.Described
      Specified by:
      getDescription in interface Feature
    • apply

      public void apply(GeneratorContext generatorContext)
      Description copied from interface: Feature
      If this method is called for a given feature that means the feature was explicitly selected, included by default as a result of DefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set), or added explicitly by another feature through FeatureContext.addFeature(Feature). At this point the feature list is set and cannot change.
      Specified by:
      apply in interface Feature
      Overrides:
      apply in class AbstractFunctionFeature
      Parameters:
      generatorContext - THe generator context
    • addFunctionTemplate

      protected void addFunctionTemplate(ModuleContext module, GeneratorContext generatorContext, Options options, Project project)
      Adds the Azure Function trigger template for the selected language, if the application type is FUNCTION and no other code-contributing feature is selected. Subclasses may override to customize template logic.
      Parameters:
      module - The module context
      generatorContext - The generator context containing project and feature info
      options - The selected options including build tool and language
      project - The project metadata
    • javaJUnitTemplate

      protected com.fizzed.rocker.RockerModel javaJUnitTemplate(Project project)
      Returns the Java JUnit template for the Azure Function.
      Specified by:
      javaJUnitTemplate in class AbstractFunctionFeature
      Parameters:
      project - The project metadata
      Returns:
      The RockerModel for Java JUnit
    • kotlinJUnitTemplate

      protected com.fizzed.rocker.RockerModel kotlinJUnitTemplate(Project project)
      Returns the Kotlin JUnit template for the Azure Function.
      Specified by:
      kotlinJUnitTemplate in class AbstractFunctionFeature
      Parameters:
      project - The project metadata
      Returns:
      The RockerModel for Kotlin JUnit
    • groovyJUnitTemplate

      protected com.fizzed.rocker.RockerModel groovyJUnitTemplate(Project project)
      Returns the Groovy JUnit template for the Azure Function.
      Specified by:
      groovyJUnitTemplate in class AbstractFunctionFeature
      Parameters:
      project - The project metadata
      Returns:
      The RockerModel for Groovy JUnit
    • koTestTemplate

      protected com.fizzed.rocker.RockerModel koTestTemplate(Project project)
      Returns the Kotest template for the Azure Function.
      Specified by:
      koTestTemplate in class AbstractFunctionFeature
      Parameters:
      project - The project metadata
      Returns:
      The RockerModel for Kotest
    • spockTemplate

      public com.fizzed.rocker.RockerModel spockTemplate(Project project)
      Returns the Spock template for the Azure Function.
      Specified by:
      spockTemplate in class AbstractFunctionFeature
      Parameters:
      project - The project metadata
      Returns:
      The RockerModel for Spock
    • getRunCommand

      protected String getRunCommand(BuildTool buildTool)
      Returns the command used to run the Azure Function based on the selected build tool.
      Specified by:
      getRunCommand in class AbstractFunctionFeature
      Parameters:
      buildTool - The selected build tool
      Returns:
      The run command string
    • getBuildCommand

      protected String getBuildCommand(BuildTool buildTool)
      Returns the command used to build the Azure Function based on the selected build tool.
      Specified by:
      getBuildCommand in class AbstractFunctionFeature
      Parameters:
      buildTool - The selected build tool
      Returns:
      The build command string
    • addDependencies

      protected void addDependencies(ModuleContext module, Options options)
      Adds the necessary dependencies for Azure Functions. Subclasses may override to customize dependency handling.
      Parameters:
      module - The module context to which dependencies will be added
      options - The selected options including build tool
    • addAzureFunctionsJavaLibraryDependency

      protected void addAzureFunctionsJavaLibraryDependency(ModuleContext module, Options options)
      Adds the Azure Functions Java library dependency based on the selected build tool. Subclasses may override to customize dependency scope or versioning.
      Parameters:
      module - The module context
      options - The selected options including build tool