package com.rectang.xsm.site; import java.util.Vector; import java.util.List; import com.rectang.xsm.site.upgrades.UpgradeUnit; public class Upgrade { public static List /* UpgradeUnit */ listRequiredUpgrades( Site site ) { int version = site.getVersion(); Vector list = new Vector(); while ( version < Site.getCurrentVersion() ) { UpgradeUnit next = loadUnit( version ); //FIXME next could be null... list.add( next ); version = next.getToVersion(); } return list; } public static UpgradeUnit loadUnit( int versionFrom ) { try { Class uuClass = Class.forName( "com.rectang.xsm.site.upgrades.Upgrade" + versionFrom ); return (UpgradeUnit) uuClass.newInstance(); } catch ( Exception e ) { e.printStackTrace(); return null; } } }