/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ /* * BasicTableExtractor.java * * Created on 28. April 2003, 15:54 */ package Sirius.util.DBVersionChecker; import java.util.*; /** * Sollte so implementiert werden dass die Struktur der Datenbank, als eine bestimte Datenmodelle-Version identifiziert * werden kann. Die Struktur der Datenbank sollte im Konstruktor \u00FCbergeben werden. Die Datenmodell-Versionen werden * in einem konsistenten Datenmodell-Speichermodul gehalten und k\u00F6nnen daraus extrahiert werden. Die Version wird * durch einen String identifiziert. * * @author awindholz * @version $Revision$, $Date$ */ public interface VersionChecker { //~ Methods ---------------------------------------------------------------- /** * Vergleicht nacheinander die vorhandenen Datenmodel-Versionen mit der Struktur der Datenbank, dessen Version * festgestellt werden soll. Wird eine passende Version gefunden, so wird die Suche abgebrochen und der * zugeh\u00F6rige Name der Datenmodel-Version wird geliefert. * * @return wenn Versionsckeck erfolgreich: der Name der Datenmodell-Version, sonst null. * * @throws DBVersionException wenn beim checken zu einem Fehler kommt. */ String checkVersion() throws DBVersionException; /** * Liefert alle Datenmodel-Versionen die in dem Datenmodell-Speichermodul enthalten sind. * * @return Bezeichnungen der Datenmodel-Versionenen. * * @throws DBVersionException wenn es zu einem Fehler kommt. */ String[] getAllVersions() throws DBVersionException; /** * Vergleicht ob das Datenmodell einer bestimten Version entspricht. * * @param version der Versionsname. * * @return true wenn das Datenmodel die Struktur der \u00FCbergebene Version besitzt. * * @throws DBVersionException wenn beim checken zu einem Fehler kommt. */ boolean compareWithVersion(String version) throws DBVersionException; /** * Pr\u00FCft ob eine bestimmte Version in dem Datenmodell-Speichermodul enthalten ist. * * @param version der Versionsname. * * @return true wenn die gesuchte Version in dem Datenmodell-Speichermodul enthalten ist, sonst false. * * @throws DBVersionException wenn es zu einem Fehler kommt. */ boolean versionAvailable(String version) throws DBVersionException; }