Package org.nuiton.topia.migration
Class TopiaMigrationCallbackByClassNG
java.lang.Object
org.nuiton.topia.migration.AbstractTopiaMigrationCallback
org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG
public abstract class TopiaMigrationCallbackByClassNG extends AbstractTopiaMigrationCallback
Migration callback which use a different class for each version to migrate.
You must fill in the constructor the mapping for each version of
getAvailableVersions() a matching migrator for version which
extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion.
Use the callback when you have a lot of version to migrate and the
TopiaMigrationCallbackByMethod begins to be messy.- Since:
- 2.9.11
- Version:
- $Id$
- Author:
- tchemit <chemit@codelutin.com>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTopiaMigrationCallbackByClassNG.MigrationCallBackForVersionCall back for a given version.static interfaceTopiaMigrationCallbackByClassNG.MigrationCallBackForVersionResolverResolver to obtain the correct migration class for a given version.static classTopiaMigrationCallbackByClassNG.MigrationCallBackForVersionResolverByServiceLoaderA simple call back resolver via a service loader. -
Field Summary
Fields Modifier and Type Field Description protected TopiaMigrationCallbackByClassNG.MigrationCallBackForVersionResolvercallBackResolver -
Constructor Summary
Constructors Modifier Constructor Description protectedTopiaMigrationCallbackByClassNG(TopiaMigrationCallbackByClassNG.MigrationCallBackForVersionResolver callBackResolver) -
Method Summary
Modifier and Type Method Description org.nuiton.version.Version[]getAvailableVersions()protected voidmigrateForVersion(org.nuiton.version.Version version, TopiaContextImplementor tx, boolean showSql, boolean showProgression)Methods inherited from class org.nuiton.topia.migration.AbstractTopiaMigrationCallback
askUser, doMigration, executeSQL, executeSQL, getApplicationVersion, setTmsVersionPersister
-
Field Details
-
Constructor Details
-
TopiaMigrationCallbackByClassNG
protected TopiaMigrationCallbackByClassNG(TopiaMigrationCallbackByClassNG.MigrationCallBackForVersionResolver callBackResolver)
-
-
Method Details
-
getAvailableVersions
public org.nuiton.version.Version[] getAvailableVersions()- Specified by:
getAvailableVersionsin classAbstractTopiaMigrationCallback- Returns:
- the available versions from the call back
-
migrateForVersion
protected void migrateForVersion(org.nuiton.version.Version version, TopiaContextImplementor tx, boolean showSql, boolean showProgression) throws java.lang.Exception- Specified by:
migrateForVersionin classAbstractTopiaMigrationCallback- Throws:
java.lang.Exception
-