From 1d22290407bee1d6b4bbb90882667142e012e2f6 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 14 Jan 2020 10:41:04 +0100 Subject: [PATCH] [jOOQ/jOOQ#9684] Make Version and Migration APIs Internal for now --- jOOQ/src/main/java/org/jooq/DSLContext.java | 8 ++++++++ jOOQ/src/main/java/org/jooq/Migration.java | 4 ++++ jOOQ/src/main/java/org/jooq/MigrationConfiguration.java | 4 ++++ jOOQ/src/main/java/org/jooq/MigrationContext.java | 4 ++++ jOOQ/src/main/java/org/jooq/MigrationListener.java | 4 ++++ .../src/main/java/org/jooq/MigrationListenerProvider.java | 6 ++++++ jOOQ/src/main/java/org/jooq/Version.java | 4 ++++ jOOQ/src/main/java/org/jooq/VersionProvider.java | 5 ++++- jOOQ/src/main/java/org/jooq/Versions.java | 4 ++++ 9 files changed, 42 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java index c30478d55a..4425beb720 100644 --- a/jOOQ/src/main/java/org/jooq/DSLContext.java +++ b/jOOQ/src/main/java/org/jooq/DSLContext.java @@ -250,12 +250,20 @@ public interface DSLContext extends Scope , AutoCloseable { /** * Initialise a {@link Version}. + *

+ * This is EXPERIMENTAL functionality and subject to change in future jOOQ + * versions. */ + @Internal Version version(String id); /** * Create a migration from the currently installed version to a new version. + *

+ * This is EXPERIMENTAL functionality and subject to change in future jOOQ + * versions. */ + @Internal Migration migrateTo(Version to); /** diff --git a/jOOQ/src/main/java/org/jooq/Migration.java b/jOOQ/src/main/java/org/jooq/Migration.java index f800b4dbbf..c0a1a1e2e1 100644 --- a/jOOQ/src/main/java/org/jooq/Migration.java +++ b/jOOQ/src/main/java/org/jooq/Migration.java @@ -42,9 +42,13 @@ import org.jooq.exception.DataMigrationValidationException; /** * An executable migration between two {@link Version} instances. + *

+ * This is EXPERIMENTAL functionality and subject to change in future jOOQ + * versions. * * @author Lukas Eder */ +@Internal public interface Migration extends Scope { /** diff --git a/jOOQ/src/main/java/org/jooq/MigrationConfiguration.java b/jOOQ/src/main/java/org/jooq/MigrationConfiguration.java index da241d968b..a11faeef9c 100644 --- a/jOOQ/src/main/java/org/jooq/MigrationConfiguration.java +++ b/jOOQ/src/main/java/org/jooq/MigrationConfiguration.java @@ -40,9 +40,13 @@ package org.jooq; /** * A configuration type for use with the various {@link Meta#migrateTo(Meta)} * methods. + *

+ * This is EXPERIMENTAL functionality and subject to change in future jOOQ + * versions. * * @author Lukas Eder */ +@Internal public final class MigrationConfiguration { private final boolean alterTableAddMultiple; diff --git a/jOOQ/src/main/java/org/jooq/MigrationContext.java b/jOOQ/src/main/java/org/jooq/MigrationContext.java index dba1966dc5..987fc6c374 100644 --- a/jOOQ/src/main/java/org/jooq/MigrationContext.java +++ b/jOOQ/src/main/java/org/jooq/MigrationContext.java @@ -39,10 +39,14 @@ package org.jooq; /** * The context in which a {@link Migration} is executed. + *

+ * This is EXPERIMENTAL functionality and subject to change in future jOOQ + * versions. * * @see MigrationListener * @author Lukas Eder */ +@Internal public interface MigrationContext extends Scope { /** diff --git a/jOOQ/src/main/java/org/jooq/MigrationListener.java b/jOOQ/src/main/java/org/jooq/MigrationListener.java index 6c2593d04a..ffe4f944da 100644 --- a/jOOQ/src/main/java/org/jooq/MigrationListener.java +++ b/jOOQ/src/main/java/org/jooq/MigrationListener.java @@ -41,9 +41,13 @@ import java.util.EventListener; /** * A listener for {@link Migration} lifecycles. + *

+ * This is EXPERIMENTAL functionality and subject to change in future jOOQ + * versions. * * @author Lukas Eder */ +@Internal public interface MigrationListener extends EventListener { /** diff --git a/jOOQ/src/main/java/org/jooq/MigrationListenerProvider.java b/jOOQ/src/main/java/org/jooq/MigrationListenerProvider.java index 988f196fb9..abb4e38b18 100644 --- a/jOOQ/src/main/java/org/jooq/MigrationListenerProvider.java +++ b/jOOQ/src/main/java/org/jooq/MigrationListenerProvider.java @@ -37,6 +37,8 @@ */ package org.jooq; +import org.jooq.impl.DefaultMigrationListenerProvider; + /** * A provider for {@link MigrationListener} instances. *

@@ -45,6 +47,9 @@ package org.jooq; * {@link Configuration}, clients can implement this API. To jOOQ, it is thus * irrelevant, if migration listeners are stateful or stateless, local to an * execution, or global to an application. + *

+ * This is EXPERIMENTAL functionality and subject to change in future jOOQ + * versions. * * @author Lukas Eder * @see MigrationListener @@ -53,6 +58,7 @@ package org.jooq; @FunctionalInterface +@Internal public interface MigrationListenerProvider { /** diff --git a/jOOQ/src/main/java/org/jooq/Version.java b/jOOQ/src/main/java/org/jooq/Version.java index 32c4fab14e..267c00773e 100644 --- a/jOOQ/src/main/java/org/jooq/Version.java +++ b/jOOQ/src/main/java/org/jooq/Version.java @@ -44,9 +44,13 @@ import org.jooq.conf.Settings; /** * A version ID attached to a {@link Meta} description of a database. + *

+ * This is EXPERIMENTAL functionality and subject to change in future jOOQ + * versions. * * @author Lukas Eder */ +@Internal public interface Version { /** diff --git a/jOOQ/src/main/java/org/jooq/VersionProvider.java b/jOOQ/src/main/java/org/jooq/VersionProvider.java index 368e000dde..8c6aed99d8 100644 --- a/jOOQ/src/main/java/org/jooq/VersionProvider.java +++ b/jOOQ/src/main/java/org/jooq/VersionProvider.java @@ -39,10 +39,13 @@ package org.jooq; /** * An SPI that allows for providing a graph of versions. + *

+ * This is EXPERIMENTAL functionality and subject to change in future jOOQ + * versions. * * @author Lukas Eder */ -@Internal // TODO This SPI is still being worked on and might change incompatibly +@Internal public interface VersionProvider { /** diff --git a/jOOQ/src/main/java/org/jooq/Versions.java b/jOOQ/src/main/java/org/jooq/Versions.java index edb1ff351f..3144a00817 100644 --- a/jOOQ/src/main/java/org/jooq/Versions.java +++ b/jOOQ/src/main/java/org/jooq/Versions.java @@ -41,9 +41,13 @@ package org.jooq; * A directed, acyclic graph of {@link Version} objects. *

* The graph is exposed as {@link Iterable} in no defined iteration order. + *

+ * This is EXPERIMENTAL functionality and subject to change in future jOOQ + * versions. * * @author Lukas Eder */ +@Internal public interface Versions extends Iterable { /**