org.nuiton.topia.migration
Class TopiaMigrationCallbackByClass

java.lang.Object
  extended by org.nuiton.topia.migration.AbstractTopiaMigrationCallback
      extended by org.nuiton.topia.migration.TopiaMigrationCallbackByClass

public abstract class TopiaMigrationCallbackByClass
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 AbstractTopiaMigrationCallback.getAvailableVersions() a matching migrator for version which extends TopiaMigrationCallbackByClass.MigrationCallBackForVersion.

Use the callback when you have a lot of version to migrate and the TopiaMigrationCallbackByMethod begins to be messy.

Since:
2.5
Version:
$Id: TopiaMigrationCallbackByClass.java 2171 2010-12-27 12:16:41Z tchemit $
Author:
tchemit

Nested Class Summary
static class TopiaMigrationCallbackByClass.MigrationCallBackForVersion
          Call back for a given version.
static interface TopiaMigrationCallbackByClass.MigrationCallBackForVersionResolver
          Resolver to obtain the correct migration class for a given version.
static class TopiaMigrationCallbackByClass.MigrationCallBackForVersionResolverByMap
          A simple call back resolver via a constant map.
 
Field Summary
protected  TopiaMigrationCallbackByClass.MigrationCallBackForVersionResolver callBackResolver
           
 
Constructor Summary
protected TopiaMigrationCallbackByClass(TopiaMigrationCallbackByClass.MigrationCallBackForVersionResolver callBackResolver)
           
 
Method Summary
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, getAvailableVersions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

callBackResolver

protected TopiaMigrationCallbackByClass.MigrationCallBackForVersionResolver callBackResolver
Constructor Detail

TopiaMigrationCallbackByClass

protected TopiaMigrationCallbackByClass(TopiaMigrationCallbackByClass.MigrationCallBackForVersionResolver callBackResolver)
Method Detail

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-2010 CodeLutin. All Rights Reserved.