AMETAS.data
Class AMETASVersion

java.lang.Object
  extended byAMETAS.data.AMETASVersion

public class AMETASVersion
extends java.lang.Object

Die Klasse AMETASVersion stellt Informationen über die aktuelle AMETAS-Version zur Verfügung. Dies ist der Platz, an dem die Versionsnummer einer neuen Version eingetragen werden muss, damit sie vom Benutzer oder Stellennutzern zur Laufzeit ermittelbar ist. Die AMETAS-Versionsnummer ist unabhängig von irgendwelchen CVS-Versionen. Sie wird fortlaufend vergeben und wird bei jeder neu veröffentlichten Version erhöht. Damit weiß der Benutzer und die Entwickler immer, welche Versionen welche Probleme verursachen und Fehler können schneller aufgeklärt werden. Die AMETAS-Versionsnummer ist dreistellig. Die erste Stelle ist die Major-Release-Nummer, die zweite ist die Minor-Release-Nummer und die dritte ist die Bugfix-Nummer. Die Major-Nummer wird nur bei weitreichenden Änderungen erhöht. Die Minor-Nummer wird erhöht, wenn kleinere neue Features zum Funktionsumfang hinzukommen. Wie groß ein "Feature" sein muss, um eine Erhöhung der Minor-Nummer zu rechtfertigen, ist von Fall zu Fall abzuwägen. Im Allgemeinen sollten Bugfixes und das Hinzufügen einer oder weniger neuer Methoden nicht die Minor-Nummer erhöhen. Das Hinzufügen völlig neuer Klassen wäre allerdings einer neue Minor-Nummer wert. Auch Stellennutzer können über die Versionsinformation herausfinden, ob eine Stelle für sie geeignet ist. Hierzu können sie direkt auf die Klasse AMETASVersion zugreifen und die entsprechenden statischen Methoden aufrufen. Falls beispielsweise ein Agent vorher weiß, dass er nur auf Stellen ab AMETAS-Version 2.0.32 lauffähig ist, weil in früheren Versionen bestimmte Features nicht vorhanden waren, so kann er über AMETASVersion.isOlderThan("2.0.32") herausfinden, ob die lokale Stelle für ihn geeignet ist. Ist dies nicht der Fall, so kann er den geordneten Rückzug antreten und seinen Benutzer darüber in Kenntnis setzen, dass er aufgrund einer zu alten AMETAS-Stelle seine Aufgabe nicht erledigen konnte. Die Möglichkeit der Versionskontrolle ist gerade für mobile Agenten wichtig, da es keine Gewissheit darüber geben kann, welche AMETAS-Version der Agent auf einer entfernten Stelle vorfinden wird. Sollte eine Stelle auf seinem Weg liegen, die in bestimmten Funktionen fehlerhaft ist, so könnte dieser Fehler den Agenten beenden und mit ihm vielleicht die ganze Stelle, sodass der Benutzer keine Informationen über dessen Verbleib hat.


Field Summary
static int BUGFIX
          Bugfix-Nummer des aktuellen Release.
static java.lang.String CODENAME
          Interner Codename des Major-Release.
static int MAJOR
          Major-Nummer des aktuellen Release.
static int MINOR
          Minor-Nummer des aktuellen Release.
 
Constructor Summary
AMETASVersion()
           
 
Method Summary
static boolean equals(int nMajor, int nMinor, int nBugfix)
          Testet, ob die aktuelle Version gleich der übergebenen Versionsinformation ist.
static boolean equals(java.lang.String sVersion)
          Testet, ob die aktuelle Version gleich der übergebenen Versionsinformation ist.
static java.lang.String getExtVersionString()
          Liefert eine erweiterte Stringrepräsentation der Version zurück.
static java.lang.String getVersionString()
          Liefert einen String der Form "major.minor.bugfix" zurück.
static boolean isOlderThan(int nMajor, int nMinor, int nBugfix)
          Testet, ob die aktuelle Version älter ist als die übergebene Versionsinformation.
static boolean isOlderThan(java.lang.String sVersion)
          Testet, ob die aktuelle Version älter ist als die übergebene Versionsinformation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAJOR

public static final int MAJOR
Major-Nummer des aktuellen Release.

See Also:
Constant Field Values

MINOR

public static final int MINOR
Minor-Nummer des aktuellen Release.

See Also:
Constant Field Values

BUGFIX

public static final int BUGFIX
Bugfix-Nummer des aktuellen Release.

See Also:
Constant Field Values

CODENAME

public static final java.lang.String CODENAME
Interner Codename des Major-Release.

See Also:
Constant Field Values
Constructor Detail

AMETASVersion

public AMETASVersion()
Method Detail

getVersionString

public static java.lang.String getVersionString()
Liefert einen String der Form "major.minor.bugfix" zurück. Das Format dieses Strings ist wohldefiniert und wird sich nicht ändern. Das heißt, er kann guten Gewissens für Stringvergleiche und Ähnliches verwendet werden.

Returns:
String, der die Version kennzeichnet.

getExtVersionString

public static java.lang.String getExtVersionString()
Liefert eine erweiterte Stringrepräsentation der Version zurück.

Returns:
String, der die Version kennzeichnet.

isOlderThan

public static boolean isOlderThan(int nMajor,
                                  int nMinor,
                                  int nBugfix)
Testet, ob die aktuelle Version älter ist als die übergebene Versionsinformation.

Parameters:
nMajor - Major-Nummer der Vergleichsversion
nMinor - Minor-Nummer der Vergleichsversion
nBugfix - Bugfix-Nummer der Vergleichsversion
Returns:
true, wenn die aktuelle Version älter ist, sonst false.

isOlderThan

public static boolean isOlderThan(java.lang.String sVersion)
Testet, ob die aktuelle Version älter ist als die übergebene Versionsinformation.

Parameters:
sVersion - Stringrepräsentation der Vergleichsversion
Returns:
true, wenn die aktuelle Version älter ist, sonst false.

equals

public static boolean equals(int nMajor,
                             int nMinor,
                             int nBugfix)
Testet, ob die aktuelle Version gleich der übergebenen Versionsinformation ist.

Parameters:
nMajor - Major-Nummer der Vergleichsversion
nMinor - Minor-Nummer der Vergleichsversion
nBugfix - Bugfix-Nummer der Vergleichsversion
Returns:
true, wenn die aktuelle Version die angegebene ist, sonst false.

equals

public static boolean equals(java.lang.String sVersion)
Testet, ob die aktuelle Version gleich der übergebenen Versionsinformation ist.

Parameters:
sVersion - Stringrepräsentation der Vergleichsversion
Returns:
true, wenn die aktuelle Version die angegebene ist, sonst false.