Interface ResourceBasedMigrationProvider

All Superinterfaces:
Ordered
All Known Implementing Classes:
AbstractResourceBasedMigrationProvider, CypherResourceBasedMigrationProvider, DefaultCatalogBasedMigrationProvider, MarkdownBasedMigrationProvider

public interface ResourceBasedMigrationProvider extends Ordered
An interface defining a provider with a set of supported extension and a mapper from resource to Migration. The interface is ordered so that we can pick accordingly when one provider maps to the same extension.
Since:
1.7.0
Author:
Michael J. Simons
Soundtrack
Fatoni - Andorra
  • Method Details

    • unique

      Returns:
      a collection containing unique providers (only one for each extension)
    • getExtension

      String getExtension()
      Returns:
      the file extension this resource based migration provider deals with
    • handle

      Handles the resource of the given context and produces one or more new migrations.
      Parameters:
      ctx - The context containing the resource and other information
      Returns:
      The migrations contained in the resource
    • supportsArbitraryResourceNames

      default boolean supportsArbitraryResourceNames()
      Return true if the provider has different ways how to map from file / resource names to a valid version.
      Returns:
      true if this provider can deal with non versioned file names
      Since:
      1.8.0