Einigen Klassen die JavaDocs hinzugefügt
parent
29004a278d
commit
bbcfe41056
|
@ -5,16 +5,42 @@ import exceptions.RobotIllegalStateException;
|
||||||
import exceptions.RobotMagicValueException;
|
import exceptions.RobotMagicValueException;
|
||||||
import roboterSystem.Robot;
|
import roboterSystem.Robot;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Die Klasse repräsentiert das C3PO Modell.
|
||||||
|
*
|
||||||
|
* Der Roboter hat einen Konstruktor <code>C3PO(...)</code> welcher einen Namen,
|
||||||
|
* eine iD und einen Zähler besitzt der die iD erhöht.
|
||||||
|
*
|
||||||
|
* <code>think(...)</code> lässt den Roboter ein int Array absteigend sortieren
|
||||||
|
* und dann zurückgeben.
|
||||||
|
*/
|
||||||
public class C3PO extends Robotermodell implements Robot {
|
public class C3PO extends Robotermodell implements Robot {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Der Zähler repräsentiert die iD.
|
||||||
|
*/
|
||||||
private int zähler = 10000;
|
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) {
|
public C3PO(String name) {
|
||||||
setName(name);
|
setName(name);
|
||||||
setiD(zähler);
|
setiD(zähler);
|
||||||
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
|
@Override
|
||||||
public int[] think(int[] zahlen) throws RobotException {
|
public int[] think(int[] zahlen) throws RobotException {
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -4,24 +4,64 @@ import exceptions.RobotException;
|
||||||
import exceptions.RobotIllegalStateException;
|
import exceptions.RobotIllegalStateException;
|
||||||
import roboterSystem.Robot;
|
import roboterSystem.Robot;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Die Klasse repräsentiert das Nexus6 Modell.
|
||||||
|
*
|
||||||
|
* Der Roboter hat einen privaten Konstruktor <code>Nexus6()</code> welcher einen
|
||||||
|
* festen Namen, eine feste iD hat und der Roboter ist ausgestellt.
|
||||||
|
*
|
||||||
|
* Damit auf den Singleton Roboter zugegriffen werden kann wird <code>getInstance()</code>
|
||||||
|
* diesen spezifischen Roboter zurückgeben.
|
||||||
|
*
|
||||||
|
* Der Roboter ist immer ausgestellt, daher macht <code>triggerPowerSwitch()</code>
|
||||||
|
* nichts.
|
||||||
|
*
|
||||||
|
* <code>think(...)</code> lässt den Roboter Exceptions werfen, macht allerdings
|
||||||
|
* nichts anderes.
|
||||||
|
*/
|
||||||
public class Nexus6 extends Robotermodell implements Robot {
|
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();
|
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() {
|
private Nexus6() {
|
||||||
setName("Pris");
|
setName("Pris");
|
||||||
setiD(19281982);
|
setiD(19281982);
|
||||||
power = false;
|
power = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gibt die einzige Instanz des Roboters zurück.
|
||||||
|
*
|
||||||
|
* @return Eine eindeutige Identifikation in Form des Objekts.
|
||||||
|
*/
|
||||||
public static Nexus6 getInstance() {
|
public static Nexus6 getInstance() {
|
||||||
return NEXUS6;
|
return NEXUS6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Power ändern machts nichts, da der Roboter immer aus ist.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void triggerPowerSwitch() {
|
public void triggerPowerSwitch() {
|
||||||
//bleibt ausgeschaltet
|
//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
|
@Override
|
||||||
public int[] think(int[] zahlen) throws RobotException {
|
public int[] think(int[] zahlen) throws RobotException {
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -5,16 +5,42 @@ import exceptions.RobotIllegalStateException;
|
||||||
import exceptions.RobotMagicValueException;
|
import exceptions.RobotMagicValueException;
|
||||||
import roboterSystem.Robot;
|
import roboterSystem.Robot;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Die Klasse repräsentiert das R2D2 Modell.
|
||||||
|
*
|
||||||
|
* Der Roboter hat einen Konstruktor <code>R2D2(...)</code> welcher einen Namen,
|
||||||
|
* eine iD und einen Zähler besitzt der die iD erhöht.
|
||||||
|
*
|
||||||
|
* <code>think(...)</code> lässt den Roboter ein int Array aufsteigend sortieren
|
||||||
|
* und dann zurückgeben.
|
||||||
|
*/
|
||||||
public class R2D2 extends Robotermodell implements Robot {
|
public class R2D2 extends Robotermodell implements Robot {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Der Zähler repräsentiert die iD.
|
||||||
|
*/
|
||||||
private int zähler = 0;
|
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) {
|
public R2D2(String name) {
|
||||||
setName(name);
|
setName(name);
|
||||||
setiD(zähler);
|
setiD(zähler);
|
||||||
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
|
@Override
|
||||||
public int[] think(int[] zahlen) throws RobotException {
|
public int[] think(int[] zahlen) throws RobotException {
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
package domain;
|
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 {
|
public enum RobotType {
|
||||||
C3PO, R2D2, NEXUS6;
|
C3PO, R2D2, NEXUS6;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,28 @@
|
||||||
package exceptions;
|
package exceptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Die Klasse repräsentiert die Exceptions der Roboter.
|
||||||
|
*
|
||||||
|
* Der Roboter hat einen Konstruktor <code>RobotException()</code> welcher nichts macht.
|
||||||
|
*
|
||||||
|
* Der Roboter hat einen weiteren Konstruktor <code>RobotException(...)</code> welcher
|
||||||
|
* einen String übergeben bekommt und diesen an seine Superklasse übergibt.
|
||||||
|
*/
|
||||||
public class RobotException extends Exception{
|
public class RobotException extends Exception{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Der Konstruktor macht nichts.
|
||||||
|
*/
|
||||||
public RobotException() {
|
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) {
|
public RobotException(String fehlertext) {
|
||||||
super(fehlertext);
|
super(fehlertext);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,30 @@
|
||||||
package exceptions;
|
package exceptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Die Klasse repräsentiert die RobotIllegalStateException der Roboter.
|
||||||
|
*
|
||||||
|
* Der Roboter hat einen Konstruktor <code>RobotException()</code> welcher einen
|
||||||
|
* Fehlertext an seine Superklasse übergibt.
|
||||||
|
*
|
||||||
|
* Der Roboter hat einen weiteren Konstruktor <code>RobotException(...)</code> welcher
|
||||||
|
* einen String übergeben bekommt und diesen an seine Superklasse übergibt.
|
||||||
|
*/
|
||||||
public class RobotIllegalStateException extends RobotException{
|
public class RobotIllegalStateException extends RobotException{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Der Konstruktor erzeugt einen Fehlertext und übergibt diesen an
|
||||||
|
* seine Superkalsse.
|
||||||
|
*/
|
||||||
public RobotIllegalStateException() {
|
public RobotIllegalStateException() {
|
||||||
super("Leider ist der Roboter aus und kann nichts machen!");
|
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) {
|
public RobotIllegalStateException(String fehlertext) {
|
||||||
super(fehlertext);
|
super(fehlertext);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,30 @@
|
||||||
package exceptions;
|
package exceptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Die Klasse repräsentiert die RobotMagicValueException der Roboter.
|
||||||
|
*
|
||||||
|
* Der Roboter hat einen Konstruktor <code>RobotException()</code> welcher einen
|
||||||
|
* Fehlertext an seine Superklasse übergibt.
|
||||||
|
*
|
||||||
|
* Der Roboter hat einen weiteren Konstruktor <code>RobotException(...)</code> welcher
|
||||||
|
* einen String übergeben bekommt und diesen an seine Superklasse übergibt.
|
||||||
|
*/
|
||||||
public class RobotMagicValueException extends RobotException{
|
public class RobotMagicValueException extends RobotException{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Der Konstruktor erzeugt einen Fehlertext und übergibt diesen an
|
||||||
|
* seine Superkalsse.
|
||||||
|
*/
|
||||||
public RobotMagicValueException() {
|
public RobotMagicValueException() {
|
||||||
super("Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!");
|
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) {
|
public RobotMagicValueException(String fehlertext) {
|
||||||
super(fehlertext);
|
super(fehlertext);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,21 @@ import domain.R2D2;
|
||||||
import domain.RobotType;
|
import domain.RobotType;
|
||||||
import domain.Robotermodell;
|
import domain.Robotermodell;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Die Klasse repräsentiert die RobotFactory.
|
||||||
|
*
|
||||||
|
* Mit <code>robotFactory(...)</code> werden die jeweiligen Modelle bzw. Instanzen
|
||||||
|
* der Roboter erzeugt.
|
||||||
|
*/
|
||||||
public class RobotFactory {
|
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) {
|
public static Robotermodell robotFactory (RobotType modell, String name) {
|
||||||
switch(modell) {
|
switch(modell) {
|
||||||
case C3PO:
|
case C3PO:
|
||||||
|
|
Loading…
Reference in New Issue