generated from hummel/Bank-System
136 lines
2.5 KiB
Java
136 lines
2.5 KiB
Java
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<Robots> robotStock = rf.getRobotStock();
|
|
String[] liste = new String[robotStock.size()];
|
|
|
|
int i = 0;
|
|
for (Robots r : robotStock) {
|
|
liste[i++] = r.toString();
|
|
}
|
|
|
|
return liste;
|
|
}
|
|
}
|