/*This code was generated using the UMPLE modeling language! Date of generation: 2008/08/20 12:40:13*/ /*This class drives: RegularLeg, RegularLeg*/ package airlineMajorExample; import java.util.*; import airlineMajorExample.json.*; public class Airport { //Class datatypes private String code; private String name = "UNKNOWN_NAME"; //Class association variables private List flightsTos; private List flightsFroms; //Registry of our system. AirlineMajorExampleRegistry registry = AirlineMajorExampleRegistry.getInstance(); //Constructor public Airport(String aCode) { code = aCode; flightsTos = new ArrayList(); registry.add(flightsTos); flightsFroms = new ArrayList(); registry.add(flightsFroms); } public boolean setCode(String aCode) { code = aCode; return true; } public boolean setName(String aName) { name = aName; return true; } public String getCode() { return code; } public String getName() { return name; } public List getFlightsTos() { return flightsTos; } public List getFlightsFroms() { return flightsFroms; } public RegularLeg addFlightsTo(RegularFlight aRegularFlight, Airport aDestination, Airport aOrigin) { RegularLeg newRegularLeg; newRegularLeg = new RegularLeg(aRegularFlight, aDestination, aOrigin); if (!flightsTos.contains(newRegularLeg)) { registry.add(newRegularLeg); flightsTos.add(newRegularLeg); } return newRegularLeg; } public RegularLeg addFlightsTo(RegularLeg aFlightsTo) { if (!flightsTos.contains(aFlightsTo)) flightsTos.add(aFlightsTo); return aFlightsTo; } public RegularLeg addFlightsFrom(RegularFlight aRegularFlight, Airport aDestination, Airport aOrigin) { RegularLeg newRegularLeg; newRegularLeg = new RegularLeg(aRegularFlight, aDestination, aOrigin); if (!flightsFroms.contains(newRegularLeg)) { registry.add(newRegularLeg); flightsFroms.add(newRegularLeg); } return newRegularLeg; } public RegularLeg addFlightsFrom(RegularLeg aFlightsFrom) { if (!flightsFroms.contains(aFlightsFrom)) flightsFroms.add(aFlightsFrom); return aFlightsFrom; } public void delete() { //Delete all many ends first. for (RegularLeg aRegularLeg : flightsTos) { aRegularLeg.delete(); } flightsTos.clear(); //Delete all many ends first. for (RegularLeg aRegularLeg : flightsFroms) { aRegularLeg.delete(); } flightsFroms.clear(); } public void deleteFlightsTo(RegularLeg aRegularLeg) { if (flightsTos.contains(aRegularLeg)) { flightsTos.remove(aRegularLeg); //registry.removeObj(registry.getKey(aRegularLeg)); } else //Throw an UmpleException .. to be implemented. { } } public void deleteFlightsFrom(RegularLeg aRegularLeg) { if (flightsFroms.contains(aRegularLeg)) { flightsFroms.remove(aRegularLeg); //registry.removeObj(registry.getKey(aRegularLeg)); } else //Throw an UmpleException .. to be implemented. { } } public boolean areManyEndsNull() { if (flightsTos.size() == 0 && flightsFroms.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)); obj.put("code", getCode()); obj.put("name", getName()); return obj; } public String toString() { return name + "(" + code + ")"; } }