Class SchemaExtension

java.lang.Object
io.github.suppierk.codegen.extensions.SchemaExtension
All Implemented Interfaces:
org.gradle.api.Named

public class SchemaExtension extends Object implements org.gradle.api.Named
Describes schema-scoped configuration: Flyway overrides and the list of jOOQ configurations that should target the schema. Exposed via DatabaseExtension.schema(String, Action).
See Also:
  • Constructor Details

    • SchemaExtension

      public SchemaExtension(@Nonnull String name, @Nonnull org.gradle.api.model.ObjectFactory objects)
      Default constructor.
      Parameters:
      name - unique schema name
      objects - Gradle object factory used to instantiate properties
  • Method Details

    • getFlyway

      @Nonnull public FlywayConfig getFlyway()
      Returns the schema-specific Flyway configuration that will override any defaults coming from the database entry. Users can mutate the returned object directly in their build script.
      Returns:
      mutable Flyway configuration
      See Also:
    • flyway

      public void flyway(@Nonnull org.gradle.api.Action<? super FlywayConfig> action)
      Applies configuration to the schema-specific Flyway settings.
      Parameters:
      action - configuration block
    • flyway

      public void flyway(@Nonnull groovy.lang.Closure<?> closure)
      Groovy-friendly variant accepting a Closure.
      Parameters:
      closure - configuration block
    • getName

      @Nonnull public String getName()
      Specified by:
      getName in interface org.gradle.api.Named
    • getJooqConfigurations

      @Nonnull public org.gradle.api.provider.ListProperty<String> getJooqConfigurations()
      Names of jOOQ configurations that should target this schema. The returned ListProperty participates in Gradle's up-to-date checking and will trigger task registration updates when mutated.
      Returns:
      list property containing configuration names
    • whenJooqConfigurationsUpdated

      public void whenJooqConfigurationsUpdated(@Nonnull org.gradle.api.Action<? super List<String>> action)
      Registers an action that will be notified whenever the schema's jOOQ configuration list changes. Used by GeneratorPlugin to dynamically register or tear down tasks as users mutate the DSL.
      Parameters:
      action - callback receiving the latest configuration names
    • setJooqConfigurations

      public void setJooqConfigurations(@Nullable List<String> configurations)
      Sets jOOQ configurations targeting the current schema.
      Parameters:
      configurations - configuration names
      See Also:
    • jooqConfigurations

      public void jooqConfigurations(@Nullable String... configurations)
      Groovy-friendly varargs setter for jOOQ configurations.
      Parameters:
      configurations - configuration names
    • jooqConfigurations

      public void jooqConfigurations(@Nullable Iterable<String> configurations)
      Groovy-friendly setter accepting Iterable of configuration names.
      Parameters:
      configurations - configuration names