package tpe.facade; import tpe.exceptions.RobotException; import tpe.exceptions.roboter.C3PO; import tpe.exceptions.roboter.R2D2; import tpe.exceptions.roboter.RobotFactory; import tpe.exceptions.roboter.RobotType; public class FactorySystem { private RobotFactory rf; RobotType robotType; public FactorySystem(String factoryName) { this.rf = new RobotFactory(factoryName); } public int constructRobot(int select, String name) { if (select == 1) { int id = rf.constructRobot(RobotType.R2D2, name); return id; } else { int id = rf.constructRobot(RobotType.C3PO, name); return id; } } public boolean triggerPower(int id) { return rf.triggerPower(id); } public boolean powerStatus(int id) { return rf.powerStatus(id); } public String robotInfo(int id) { return rf.robotInfo(id); } public String dismantleRobot(int id) { if (rf.dismantleRobot(id) == null) { return "Roboter erfolgreich demontiert"; } else return "Fehler beim Demontieren des Roboters"; } public RobotException robotBlackbox(int id) { return rf.robotBlackbox(id); // Bei Rückgabe von null gab es noch keinen Fehler } public String robotInstructions(int id, int[] zahlen) throws RobotException { return rf.robotInstructions(id, zahlen); } public int robotStockSize() { return rf.robotStockSize(); } public boolean containsRobot(int id) { return rf.containsRobot(id); } public String getFName() { return rf.getFactoryName(); } }