package tpe.facade; import java.util.Collection; import de.hs_mannheim.informatik.bank.domain.Konto; import tpe.exceptions.RobotException; import tpe.exceptions.roboter.C3PO; import tpe.exceptions.roboter.R2D2; import tpe.exceptions.roboter.RobotFactory; import tpe.exceptions.roboter.RobotType; import tpe.exceptions.roboter.Robots; public class FactorySystem { private RobotFactory rf; RobotType robotType; public FactorySystem(String factoryName) { this.rf = new RobotFactory(factoryName); } /** * Methode entscheidet, ob ein R2D2 oder ein C3PO erstellt wird * * @param select * @param name * @return */ 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; } } /** * Schaltet Roboter an * * @param id * @return */ public boolean triggerPower(int id) { return rf.triggerPower(id); } /** * Gibt den Satus des Roboters an * * @param id * @return */ public boolean powerStatus(int id) { return rf.powerStatus(id); } /** * Gibt die Informationen des Roboters aus * * @param id * @return */ public String robotInfo(int id) { return rf.robotInfo(id).toString(); } /** * Wirft die letzte Fehlermeldung zurück * * @param id * @return */ public RobotException robotBlackbox(int id) { return rf.robotBlackbox(id); // Bei Rückgabe von null gab es noch keinen Fehler } /** * Gibt dem Roboter Zugriff auf think und speak methode * * @param id * @param zahlen * @return * @throws RobotException */ public String robotInstructions(int id, int[] zahlen) throws RobotException { return rf.robotInstructions(id, zahlen); } /** * Bibt die Anzahl der Roboter zurück * * @return */ public int robotStockSize() { return rf.robotStockSize(); } /** * Prüft ob Roboter vorhanden ist * * @param id * @return */ public boolean containsRobot(int id) { return rf.containsRobot(id); } /** * Überprüft den Namen der Fabrik * * @return */ public String getFName() { return rf.getFactoryName(); } /** * Gibt alle gespeicherten Roboter zurück * * @return */ public String[] getRobotStock() { Collection robotStock = rf.getRobotStock(); String[] liste = new String[robotStock.size()]; int i = 0; for (Robots r : robotStock) { liste[i++] = r.toString(); } return liste; } }