/*This code was generated using the UMPLE modeling language! Date of generation: 2008/07/31 08:59:58*/ /*This class drives: Elevator*/ package Elevator.core; import java.util.*; import Elevator.*; import Elevator.core.Buttons.*; import Elevator.json.*; public class FullSystem { //Class datatypes //Class association variables private List elevators; //Registry of our system. ElevatorRegistry registry = ElevatorRegistry.getInstance(); //Constructor public FullSystem() { elevators = new ArrayList(); registry.add(elevators); } public List getElevators() { return elevators; } public Elevator addElevator(String aIdentifier, String aState, String aDirectionOfMovement, FullSystem aFullSystem, CloseDoorButton aCloseDoorButton, OpenDoorButton aOpenDoorButton) { Elevator newElevator; newElevator = new Elevator(aIdentifier, aState, aDirectionOfMovement, this, aCloseDoorButton, aOpenDoorButton); if (!elevators.contains(newElevator)) { registry.add(newElevator); elevators.add(newElevator); } return newElevator; } public Elevator addElevator(Elevator aElevator) { if (!elevators.contains(aElevator)) elevators.add(aElevator); return aElevator; } public void delete() { //Delete all many ends first. for (Elevator aElevator : elevators) { aElevator.delete(); } elevators.clear(); } public void deleteElevator(Elevator aElevator) { if (elevators.contains(aElevator)) { elevators.remove(aElevator); //registry.removeObj(registry.getKey(aElevator)); } else //Throw an UmpleException .. to be implemented. { } } public boolean areManyEndsNull() { if (elevators.size() == 0) { return true; } else return false; } /*********************************** * Returns the attribute list along with the * class ID in JSON format. ***********************************/ public JSONObject getAttributes() throws JSONException { JSONObject obj = new JSONObject(); obj.put("CLASS_ID", registry.getKey(this)); return obj; } }