org.nuiton.topia.migration
Class TopiaMigrationCallbackByClassNG

java.lang.Object
  extended by org.nuiton.topia.migration.AbstractTopiaMigrationCallback
      extended by 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: TopiaMigrationCallbackByClassNG.java 2571 2012-06-01 09:29:47Z tchemit $
Author:
tchemit

Nested Class Summary
static class TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion
          Call back for a given version.
static interface TopiaMigrationCallbackByClassNG.MigrationCallBackForVersionResolver
          Resolver to obtain the correct migration class for a given version.
static class TopiaMigrationCallbackByClassNG.MigrationCallBackForVersionResolverByServiceLoader
          A simple call back resolver via a service loader.
 
Field Summary
protected  TopiaMigrationCallbackByClassNG.MigrationCallBackForVersionResolver callBackResolver
           
 
Constructor Summary
protected TopiaMigrationCallbackByClassNG(TopiaMigrationCallbackByClassNG.MigrationCallBackForVersionResolver callBackResolver)
           
 
Method Summary
 org.nuiton.util.Version[] getAvailableVersions()
           
protected  void migrateForVersion(org.nuiton.util.Version version, TopiaContextImplementor tx, boolean showSql, boolean showProgression)
           
 
Methods inherited from class org.nuiton.topia.migration.AbstractTopiaMigrationCallback
askUser, doMigration, executeSQL, executeSQL, getApplicationVersion
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

callBackResolver

protected TopiaMigrationCallbackByClassNG.MigrationCallBackForVersionResolver callBackResolver
Constructor Detail

TopiaMigrationCallbackByClassNG

protected TopiaMigrationCallbackByClassNG(TopiaMigrationCallbackByClassNG.MigrationCallBackForVersionResolver callBackResolver)
Method Detail

getAvailableVersions

public org.nuiton.util.Version[] getAvailableVersions()
Specified by:
getAvailableVersions in class AbstractTopiaMigrationCallback
Returns:
the available versions from the call back

migrateForVersion

protected void migrateForVersion(org.nuiton.util.Version version,
                                 TopiaContextImplementor tx,
                                 boolean showSql,
                                 boolean showProgression)
                          throws Exception
Specified by:
migrateForVersion in class AbstractTopiaMigrationCallback
Throws:
Exception


Copyright © 2004-2012 CodeLutin. All Rights Reserved.