2023-01-07 14:15:53 +01:00
|
|
|
package tpe.facade;
|
2023-01-03 12:14:11 +01:00
|
|
|
|
2023-01-08 19:02:39 +01:00
|
|
|
import tpe.exceptions.RobotException;
|
2023-01-03 12:14:11 +01:00
|
|
|
import tpe.exceptions.roboter.C3PO;
|
|
|
|
import tpe.exceptions.roboter.R2D2;
|
2023-01-08 19:02:39 +01:00
|
|
|
import tpe.exceptions.roboter.RobotFactory;
|
|
|
|
import tpe.exceptions.roboter.RobotType;
|
2023-01-03 12:14:11 +01:00
|
|
|
|
2023-01-07 18:48:00 +01:00
|
|
|
public class FactorySystem {
|
2023-01-08 19:02:39 +01:00
|
|
|
private RobotFactory rf;
|
|
|
|
RobotType robotType;
|
2023-01-09 07:59:01 +01:00
|
|
|
|
|
|
|
public FactorySystem(String factoryName) {
|
|
|
|
this.rf = new RobotFactory(factoryName);
|
2023-01-08 19:02:39 +01:00
|
|
|
}
|
2023-01-09 07:59:01 +01:00
|
|
|
|
2023-01-08 19:02:39 +01:00
|
|
|
public int constructRobot(int select, String name) {
|
2023-01-09 07:59:01 +01:00
|
|
|
if (select == 1) {
|
|
|
|
int id = rf.constructRobot(RobotType.R2D2, name);
|
|
|
|
return id;
|
|
|
|
} else {
|
|
|
|
int id = rf.constructRobot(RobotType.C3PO, name);
|
2023-01-08 19:02:39 +01:00
|
|
|
return id;
|
|
|
|
}
|
|
|
|
}
|
2023-01-09 07:59:01 +01:00
|
|
|
|
|
|
|
public boolean triggerPower(int id) {
|
2023-01-08 19:02:39 +01:00
|
|
|
return rf.triggerPower(id);
|
|
|
|
}
|
2023-01-09 07:59:01 +01:00
|
|
|
|
|
|
|
public boolean powerStatus(int id) {
|
2023-01-08 19:02:39 +01:00
|
|
|
return rf.powerStatus(id);
|
|
|
|
}
|
2023-01-09 07:59:01 +01:00
|
|
|
|
|
|
|
public String robotInfo(int id) {
|
2023-01-08 19:02:39 +01:00
|
|
|
return rf.robotInfo(id);
|
|
|
|
}
|
2023-01-09 07:59:01 +01:00
|
|
|
|
|
|
|
public String dismantleRobot(int id) {
|
|
|
|
if (rf.dismantleRobot(id) == null) {
|
2023-01-08 19:02:39 +01:00
|
|
|
return "Roboter erfolgreich demontiert";
|
2023-01-09 07:59:01 +01:00
|
|
|
} else
|
2023-01-08 19:02:39 +01:00
|
|
|
return "Fehler beim Demontieren des Roboters";
|
|
|
|
}
|
2023-01-09 07:59:01 +01:00
|
|
|
|
|
|
|
public RobotException robotBlackbox(int id) {
|
|
|
|
return rf.robotBlackbox(id); // Bei Rückgabe von null gab es noch keinen Fehler
|
2023-01-08 19:02:39 +01:00
|
|
|
}
|
2023-01-09 07:59:01 +01:00
|
|
|
|
|
|
|
public String robotInstructions(int id, int[] zahlen) throws RobotException {
|
2023-01-08 19:02:39 +01:00
|
|
|
return rf.robotInstructions(id, zahlen);
|
|
|
|
}
|
2023-01-09 07:59:01 +01:00
|
|
|
|
|
|
|
public int robotStockSize() {
|
2023-01-08 19:02:39 +01:00
|
|
|
return rf.robotStockSize();
|
|
|
|
}
|
2023-01-09 07:59:01 +01:00
|
|
|
|
|
|
|
public boolean containsRobot(int id) {
|
2023-01-08 19:02:39 +01:00
|
|
|
return rf.containsRobot(id);
|
|
|
|
}
|
2023-01-09 07:59:01 +01:00
|
|
|
|
|
|
|
public String getFName() {
|
|
|
|
return rf.getFactoryName();
|
|
|
|
}
|
2023-01-03 12:14:11 +01:00
|
|
|
}
|