package facade; import domain.Factory; import domain.Robot; import infrastructure.Persistenz; public class FactorySystem { private Factory factory; private String factoryName; public FactorySystem(String factoryName){ this.factoryName = factoryName; if(Persistenz.existsSavedData(factoryName)){ try{ this.factory = (Factory) Persistenz.loadFactoryData(factoryName); System.out.println("Loading of old factory successful"); } catch (Exception e) { System.out.println("Loading of old factory not possible"); System.out.println(e.getMessage()); } }else{ this.factory = new Factory(); } } //provide robot attributes public String[] getAllRobots(){ return factory.getRobotList(); } //Creating a new robot public boolean buildNewRobot(String name, int type) { boolean check = factory.buildNewRobot(name, type); if(check) { try { Persistenz.saveFactoryData(factory, factoryName); }catch(Exception e){ System.out.println(e.getCause()); } } return check; } //provides a specific robot public Robot searchForRobot(int id){ return factory.getRobotOfList(id); } }