Class GeneratorContext

java.lang.Object
io.micronaut.projectgen.core.generator.GeneratorContext
All Implemented Interfaces:
DependencyContext

public class GeneratorContext extends Object implements DependencyContext
A context object used when generating projects.
Since:
1.0.0
Author:
graemerocher
  • Field Details

  • Constructor Details

  • Method Details

    • addTemplate

      public void addTemplate(String name, Template template)
      Adds a template.
      Parameters:
      name - The name of the template
      template - The template
    • removeTemplate

      public void removeTemplate(String name)
      Adds a template.
      Parameters:
      name - The name of the template
    • addHelpTemplate

      public void addHelpTemplate(Writable writable)
      Adds a template which will be consolidated into a single help file.
      Parameters:
      writable - The template
    • addHelpLink

      public void addHelpLink(String label, String href)
      Ads a Link to a single help file.
      Parameters:
      label - Link's label
      href - Link's uri
    • getBuildProperties

      @NonNull public @NonNull BuildProperties getBuildProperties()
      Returns:
      The build properties
    • getConfiguration

      @NonNull public @NonNull ApplicationConfiguration getConfiguration()
      Returns:
      The configuration
    • getConfigurationByModule

      @NonNull public @NonNull ApplicationConfiguration getConfigurationByModule(String module)
      Parameters:
      module - Module
      Returns:
      The configuration
    • getConfigurationByEnvironment

      @NonNull public @NonNull ApplicationConfiguration getConfigurationByEnvironment(String environment)
      Parameters:
      environment - Environment
      Returns:
      application configuration
    • getConfigurationByModuleAndEnvironment

      @Nullable public @Nullable ApplicationConfiguration getConfigurationByModuleAndEnvironment(String module, String environment)
      Parameters:
      module - module
      environment - Environment
      Returns:
      application configuration
    • hasConfigurationByEnvironment

      public boolean hasConfigurationByEnvironment(@NonNull @NonNull String env)
      Parameters:
      env - Environment
      Returns:
      whether it has configuration for a particular environment
    • hasConfigurationByModuleAndEnvironment

      public boolean hasConfigurationByModuleAndEnvironment(@NonNull @NonNull String module, @NonNull @NonNull String env)
      Parameters:
      module - module
      env - Environment
      Returns:
      whether it has configuration for a particular environment
    • getBootstrapConfigurationByEnvironment

      @Nullable public @Nullable BootstrapConfiguration getBootstrapConfigurationByEnvironment(String env)
      Parameters:
      env - Environment
      Returns:
      The configuration
    • getBootstrapConfigurationByModuleAndEnvironment

      @Nullable public @Nullable BootstrapConfiguration getBootstrapConfigurationByModuleAndEnvironment(String module, String env)
      Parameters:
      module - Module
      env - Environment
      Returns:
      The configuration
    • getConfigurationByModuleEnvironmentOrDefaultConfig

      @NonNull public @NonNull ApplicationConfiguration getConfigurationByModuleEnvironmentOrDefaultConfig(String module, String env, ApplicationConfiguration defaultConfig)
      Parameters:
      module - Module
      env - Environment
      defaultConfig - Default Configuration
      Returns:
      Application Configuration
    • getConfigurationByEnvironmentOrDefaultConfig

      @NonNull public @NonNull ApplicationConfiguration getConfigurationByEnvironmentOrDefaultConfig(String env, ApplicationConfiguration defaultConfig)
      Parameters:
      env - Environment
      defaultConfig - Default Configuration
      Returns:
      Application Configuration
    • getBootstrapConfigurationByEnvironmentOrDefaultConfig

      @NonNull public @NonNull BootstrapConfiguration getBootstrapConfigurationByEnvironmentOrDefaultConfig(String env, BootstrapConfiguration defaultConfig)
      Parameters:
      env - environment
      defaultConfig - Bootstrap Configuration
      Returns:
      Bootstrap configuration
    • getBootstrapConfigurationByModuleAndEnvironmentOrDefaultConfig

      @NonNull public @NonNull BootstrapConfiguration getBootstrapConfigurationByModuleAndEnvironmentOrDefaultConfig(String module, String env, BootstrapConfiguration defaultConfig)
      Parameters:
      module - Module
      env - environment
      defaultConfig - Bootstrap Configuration
      Returns:
      Bootstrap configuration
    • getBootstrapConfiguration

      @NonNull public @NonNull BootstrapConfiguration getBootstrapConfiguration()
      Returns:
      The bootstrap config
    • getBootstrapConfigurationByModule

      @NonNull public @NonNull BootstrapConfiguration getBootstrapConfigurationByModule(String module)
      Parameters:
      module - Module
      Returns:
      The bootstrap config
    • addConfiguration

      public void addConfiguration(@NonNull @NonNull Configuration configuration)
      Parameters:
      configuration - Configuration
    • addConfigurationByModule

      public void addConfigurationByModule(String module, @NonNull @NonNull Configuration configuration)
      Parameters:
      module - Module
      configuration - Configuration
    • getAllConfigurations

      @NonNull public @NonNull Set<Configuration> getAllConfigurations()
      Returns:
      All Configurations
    • getAllConfigurationsByModule

      @NonNull public @NonNull Set<Configuration> getAllConfigurationsByModule(String module)
      Parameters:
      module - Module
      Returns:
      All Configurations
    • getTemplates

      @NonNull public @NonNull Map<String,Template> getTemplates()
      Returns:
      The templates
    • getHelpTemplates

      @NonNull public @NonNull List<Writable> getHelpTemplates()
      Returns:
      The templates
    • getLanguage

      @NonNull public @NonNull Language getLanguage()
      Returns:
      The language
    • getOptions

      @NonNull public @NonNull Options getOptions()
      Returns:
      Options
    • getBuildTool

      @Deprecated(forRemoval=true) @NonNull public @NonNull BuildTool getBuildTool()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns:
      The test framework
    • getTestFramework

      @NonNull public @NonNull TestFramework getTestFramework()
      Returns:
      The test framework
    • getProject

      @NonNull public @NonNull Project getProject()
      Returns:
      The project
    • getFeatures

      @NonNull public @NonNull Features getFeatures()
      Returns:
      The selected features
    • getJdkVersion

      @NonNull public @NonNull JdkVersion getJdkVersion()
      Returns:
      The JDK version
    • applyFeatures

      public void applyFeatures()
      Apply features.
    • isFeaturePresent

      public boolean isFeaturePresent(Class<? extends Feature> feature)
      Parameters:
      feature - Feature is present
      Returns:
      Whether the feature is present
    • isFeatureMissing

      public boolean isFeatureMissing(Class<? extends Feature> feature)
      Parameters:
      feature - Feature is present
      Returns:
      Whether the feature is missing
    • getFeature

      public <T extends Feature> Optional<T> getFeature(Class<T> feature)
      Type Parameters:
      T - feature Type
      Parameters:
      feature - Feature is present
      Returns:
      the feature
    • getRequiredFeature

      public <T extends Feature> T getRequiredFeature(Class<T> feature)
      Type Parameters:
      T - feature Type
      Parameters:
      feature - Feature is present
      Returns:
      the feature
    • getSourcePath

      public String getSourcePath(String path)
      Parameters:
      path - Path
      Returns:
      source path
    • getTestSourcePath

      public String getTestSourcePath(String path)
      Parameters:
      path - Path
      Returns:
      test path
    • parseModel

      protected com.fizzed.rocker.RockerModel parseModel(com.fizzed.rocker.RockerModel javaTemplate, com.fizzed.rocker.RockerModel kotlinTemplate, com.fizzed.rocker.RockerModel groovyTemplate)
      Parameters:
      javaTemplate -
      kotlinTemplate -
      groovyTemplate -
      Returns:
      Rocker Model
    • addTemplate

      public void addTemplate(String name, String path, TestRockerModelProvider testRockerModelProvider)
      Parameters:
      name - name
      path - path
      testRockerModelProvider - testRockerModelProvider
    • addTemplate

      public void addTemplate(String templateName, String triggerFile, com.fizzed.rocker.RockerModel javaTemplate, com.fizzed.rocker.RockerModel kotlinTemplate, com.fizzed.rocker.RockerModel groovyTemplate)
      Parameters:
      templateName - template name
      triggerFile - trigger file
      javaTemplate - java template
      kotlinTemplate - kotlin template
      groovyTemplate - groovy template
    • addBuildPlugin

      public void addBuildPlugin(BuildPlugin buildPlugin)
      Parameters:
      buildPlugin - Build plugin
    • addBuildPluginByModule

      public void addBuildPluginByModule(String module, BuildPlugin buildPlugin)
    • resolveCoordinate

      public Coordinate resolveCoordinate(String artifactId)
      Parameters:
      artifactId - Artifact ID
      Returns:
      The coordinate
    • addDependency

      public void addDependency(@NonNull @NonNull Dependency dependency)
      Specified by:
      addDependency in interface DependencyContext
      Parameters:
      dependency - dependency
    • getDependencies

      @NonNull public @NonNull Collection<Dependency> getDependencies()
      Specified by:
      getDependencies in interface DependencyContext
    • getBuildPlugins

      public Set<BuildPlugin> getBuildPlugins()
      Returns:
      Build plugins
    • getBuildPluginsByModule

      public Set<BuildPlugin> getBuildPluginsByModule(String module)
      Parameters:
      module - Module
      Returns:
      Build plugins
    • getModuleNames

      public Collection<String> getModuleNames()
      Returns:
      Module Names
    • addProfile

      public void addProfile(@NonNull @NonNull Profile profile)
      Parameters:
      profile - Profile
    • getProfiles

      @NonNull public @NonNull Collection<Profile> getProfiles()
      Returns:
      Profiles
    • hasFeature

      public <T extends Feature> boolean hasFeature(Class<T> featureClass)
      Type Parameters:
      T - feature Type
      Parameters:
      featureClass - Feature class
      Returns:
      Whether the feature is present
    • hasDependencyInScope

      public boolean hasDependencyInScope(@NonNull @NonNull String groupId, @NonNull @NonNull String artifactId, @NonNull @NonNull Scope scope)
      Parameters:
      groupId - Group ID
      artifactId - Artifact ID
      scope - Scope
      Returns:
      Whether the dependency is present
    • hasDependency

      public boolean hasDependency(@NonNull @NonNull String groupId, @NonNull @NonNull String artifactId)
      Parameters:
      groupId - Group ID
      artifactId - artifact ID
      Returns:
      Whether the dependency is present
    • countDependencies

      public long countDependencies(@NonNull @NonNull String groupId)
      Parameters:
      groupId - groupID
      Returns:
      number of dependencies with groupId
    • addDependenciesByRecipeName

      public void addDependenciesByRecipeName(String recipeName)
      Parameters:
      recipeName - recipe Name
    • addConfigurationByRecipeName

      public void addConfigurationByRecipeName(@NonNull @NonNull String recipeName)
      Parameters:
      recipeName - recipe Name
    • addBootstrapConfigurationByRecipeName

      public void addBootstrapConfigurationByRecipeName(@NonNull @NonNull String recipeName)
      Parameters:
      recipeName - recipe Name
    • findFrameworkDocumentationByRecipeName

      public Optional<String> findFrameworkDocumentationByRecipeName(@NonNull @NonNull String recipeName)
      Parameters:
      recipeName - recipe Name
      Returns:
      documentation
    • findThirdPartyDocumentationByRecipeName

      public Optional<String> findThirdPartyDocumentationByRecipeName(@NonNull @NonNull String recipeName)
      Parameters:
      recipeName - recipe Name
      Returns:
      documentation
    • addTemplatesByRecipeName

      public void addTemplatesByRecipeName(String recipeName)