diff --git a/Robbie-Management-System/src/domain/C3PO.java b/Robbie-Management-System/src/domain/C3PO.java index 48f436e..34c8814 100644 --- a/Robbie-Management-System/src/domain/C3PO.java +++ b/Robbie-Management-System/src/domain/C3PO.java @@ -5,16 +5,42 @@ import exceptions.RobotIllegalStateException; import exceptions.RobotMagicValueException; import roboterSystem.Robot; +/** + * Die Klasse repräsentiert das C3PO Modell. + * + * Der Roboter hat einen Konstruktor C3PO(...) welcher einen Namen, + * eine iD und einen Zähler besitzt der die iD erhöht. + * + * think(...) lässt den Roboter ein int Array absteigend sortieren + * und dann zurückgeben. + */ public class C3PO extends Robotermodell implements Robot { + /** + * Der Zähler repräsentiert die iD. + */ private int zähler = 10000; + /** + * Der Konstruktor des C3PO Roboters besitzt einen Namen, eine iD + * und einen Zähler. + * + * @param String name der den Namen des Roboters repräsentiert. + */ public C3PO(String name) { setName(name); setiD(zähler); zähler++; } + /** + * Sortiert ein Array von Zahlen. Die Reihenfolge verläuft absteigend. + * + * @param zahlen Zahlen, die sortiert werden sollen. + * @return Sortierte Zahlen + * @throws RobotException wenn der Roboter in einem ungültigen Zustand ist, + * oder das Array nicht seinen Vorstellungen entspricht. + */ @Override public int[] think(int[] zahlen) throws RobotException { try { diff --git a/Robbie-Management-System/src/domain/Nexus6.java b/Robbie-Management-System/src/domain/Nexus6.java index dcef6bf..b92d2ae 100644 --- a/Robbie-Management-System/src/domain/Nexus6.java +++ b/Robbie-Management-System/src/domain/Nexus6.java @@ -4,24 +4,64 @@ import exceptions.RobotException; import exceptions.RobotIllegalStateException; import roboterSystem.Robot; +/** + * Die Klasse repräsentiert das Nexus6 Modell. + * + * Der Roboter hat einen privaten Konstruktor Nexus6() welcher einen + * festen Namen, eine feste iD hat und der Roboter ist ausgestellt. + * + * Damit auf den Singleton Roboter zugegriffen werden kann wird getInstance() + * diesen spezifischen Roboter zurückgeben. + * + * Der Roboter ist immer ausgestellt, daher macht triggerPowerSwitch() + * nichts. + * + * think(...) lässt den Roboter Exceptions werfen, macht allerdings + * nichts anderes. + */ public class Nexus6 extends Robotermodell implements Robot { + + /** + * Die private final Nexus6 Variable erzeugt immer einen Nexus6 Roboter + * und verhindert die erneute Erzeugung eines weiteren Nuxus6 Roboters. + */ private static final Nexus6 NEXUS6 = new Nexus6(); + /** + * Der Konstruktor des Nexus6 Roboters besitzt einen Namen, eine iD + * und seine Power ist immer aus. + */ private Nexus6() { setName("Pris"); setiD(19281982); power = false; } + /** + * Gibt die einzige Instanz des Roboters zurück. + * + * @return Eine eindeutige Identifikation in Form des Objekts. + */ public static Nexus6 getInstance() { return NEXUS6; } + /** + * Power ändern machts nichts, da der Roboter immer aus ist. + */ @Override public void triggerPowerSwitch() { //bleibt ausgeschaltet } + /** + * Macht rein gar nichts, außer die Exception zu werfen + * + * @param zahlen Zahlen, die in einer anderen Zeitlinie sortiert werden sollten. + * @return null, da nichts gemacht wird + * @throws RobotException wenn der Roboter in einem ungültigen Zustand ist, + * oder das Array nicht seinen Vorstellungen entspricht. + */ @Override public int[] think(int[] zahlen) throws RobotException { try { diff --git a/Robbie-Management-System/src/domain/R2D2.java b/Robbie-Management-System/src/domain/R2D2.java index 7d1e4dc..29698cc 100644 --- a/Robbie-Management-System/src/domain/R2D2.java +++ b/Robbie-Management-System/src/domain/R2D2.java @@ -5,16 +5,42 @@ import exceptions.RobotIllegalStateException; import exceptions.RobotMagicValueException; import roboterSystem.Robot; +/** + * Die Klasse repräsentiert das R2D2 Modell. + * + * Der Roboter hat einen Konstruktor R2D2(...) welcher einen Namen, + * eine iD und einen Zähler besitzt der die iD erhöht. + * + * think(...) lässt den Roboter ein int Array aufsteigend sortieren + * und dann zurückgeben. + */ public class R2D2 extends Robotermodell implements Robot { + /** + * Der Zähler repräsentiert die iD. + */ private int zähler = 0; + /** + * Der Konstruktor des R2D2 Roboters besitzt einen Namen, eine iD + * und einen Zähler. + * + * @param String name der den Namen des Roboters repräsentiert. + */ public R2D2(String name) { setName(name); setiD(zähler); zähler++; } + /** + * Sortiert ein Array von Zahlen. Die Reihenfolge verläuft aufsteigend. + * + * @param zahlen Zahlen, die sortiert werden sollen. + * @return Sortierte Zahlen + * @throws RobotException wenn der Roboter in einem ungültigen Zustand ist, + * oder das Array nicht seinen Vorstellungen entspricht. + */ @Override public int[] think(int[] zahlen) throws RobotException { try { diff --git a/Robbie-Management-System/src/domain/RobotType.java b/Robbie-Management-System/src/domain/RobotType.java index 73c2fca..43dc4da 100644 --- a/Robbie-Management-System/src/domain/RobotType.java +++ b/Robbie-Management-System/src/domain/RobotType.java @@ -1,5 +1,10 @@ package domain; +/** + * Die Klasse repräsentiert alle Roboter Modelle die existieren. + * + * Die Roboter können vom Modell C3PO, R2D2 oder NEXUS6 sein. + */ public enum RobotType { C3PO, R2D2, NEXUS6; } diff --git a/Robbie-Management-System/src/exceptions/RobotException.java b/Robbie-Management-System/src/exceptions/RobotException.java index 093d121..0ec42bf 100644 --- a/Robbie-Management-System/src/exceptions/RobotException.java +++ b/Robbie-Management-System/src/exceptions/RobotException.java @@ -1,11 +1,28 @@ package exceptions; +/** + * Die Klasse repräsentiert die Exceptions der Roboter. + * + * Der Roboter hat einen Konstruktor RobotException() welcher nichts macht. + * + * Der Roboter hat einen weiteren Konstruktor RobotException(...) welcher + * einen String übergeben bekommt und diesen an seine Superklasse übergibt. + */ public class RobotException extends Exception{ + /** + * Der Konstruktor macht nichts. + */ public RobotException() { } + /** + * Der Konstruktor bekommt einen String übergeben und gibt diesen an + * seine Superklasse weiter. + * + * @param String fehlertext repräsentiert den Text den die Exception wirft. + */ public RobotException(String fehlertext) { super(fehlertext); } diff --git a/Robbie-Management-System/src/exceptions/RobotIllegalStateException.java b/Robbie-Management-System/src/exceptions/RobotIllegalStateException.java index b70fe30..bd046d0 100644 --- a/Robbie-Management-System/src/exceptions/RobotIllegalStateException.java +++ b/Robbie-Management-System/src/exceptions/RobotIllegalStateException.java @@ -1,11 +1,30 @@ package exceptions; +/** + * Die Klasse repräsentiert die RobotIllegalStateException der Roboter. + * + * Der Roboter hat einen Konstruktor RobotException() welcher einen + * Fehlertext an seine Superklasse übergibt. + * + * Der Roboter hat einen weiteren Konstruktor RobotException(...) welcher + * einen String übergeben bekommt und diesen an seine Superklasse übergibt. + */ public class RobotIllegalStateException extends RobotException{ + /** + * Der Konstruktor erzeugt einen Fehlertext und übergibt diesen an + * seine Superkalsse. + */ public RobotIllegalStateException() { super("Leider ist der Roboter aus und kann nichts machen!"); } + /** + * Der Konstruktor bekommt einen String übergeben und gibt diesen an + * seine Superklasse weiter. + * + * @param String fehlertext repräsentiert den Text den die Exception wirft. + */ public RobotIllegalStateException(String fehlertext) { super(fehlertext); } diff --git a/Robbie-Management-System/src/exceptions/RobotMagicValueException.java b/Robbie-Management-System/src/exceptions/RobotMagicValueException.java index 1157167..57713a3 100644 --- a/Robbie-Management-System/src/exceptions/RobotMagicValueException.java +++ b/Robbie-Management-System/src/exceptions/RobotMagicValueException.java @@ -1,11 +1,30 @@ package exceptions; +/** + * Die Klasse repräsentiert die RobotMagicValueException der Roboter. + * + * Der Roboter hat einen Konstruktor RobotException() welcher einen + * Fehlertext an seine Superklasse übergibt. + * + * Der Roboter hat einen weiteren Konstruktor RobotException(...) welcher + * einen String übergeben bekommt und diesen an seine Superklasse übergibt. + */ public class RobotMagicValueException extends RobotException{ + /** + * Der Konstruktor erzeugt einen Fehlertext und übergibt diesen an + * seine Superkalsse. + */ public RobotMagicValueException() { super("Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!"); } + /** + * Der Konstruktor bekommt einen String übergeben und gibt diesen an + * seine Superklasse weiter. + * + * @param String fehlertext repräsentiert den Text den die Exception wirft. + */ public RobotMagicValueException(String fehlertext) { super(fehlertext); } diff --git a/Robbie-Management-System/src/main/RobotFactory.java b/Robbie-Management-System/src/main/RobotFactory.java index ed0a0aa..a4f89bb 100644 --- a/Robbie-Management-System/src/main/RobotFactory.java +++ b/Robbie-Management-System/src/main/RobotFactory.java @@ -5,8 +5,21 @@ import domain.R2D2; import domain.RobotType; import domain.Robotermodell; +/** + * Die Klasse repräsentiert die RobotFactory. + * + * Mit robotFactory(...) werden die jeweiligen Modelle bzw. Instanzen + * der Roboter erzeugt. + */ public class RobotFactory { + /** + * Erzeugt die jeweiligen Modelle der Roboter. + * + * @param RobotType modell stellt als Enum das Modell des Roboters dar. + * @param String name stellt den Namen des Roboters dar. + * @return Eine eindeutige Instanz in Form des Objekts oder eben null. + */ public static Robotermodell robotFactory (RobotType modell, String name) { switch(modell) { case C3PO: