/*This code was generated using the UMPLE modeling language! Date of generation: 2008/07/29 14:56:52*/ /*This class drives: Territory*/ package PoliticalEntities.core; import java.util.*; import PoliticalEntities.*; import PoliticalEntities.json.*; public class InterGovernmentalOrganization extends PoliticalEntity { //Class datatypes //Class association variables private List territorys; //Registry of our system. PoliticalEntitiesRegistry registry = PoliticalEntitiesRegistry.getInstance(); //Constructor public InterGovernmentalOrganization(String aName) { super(aName); territorys = new ArrayList(); registry.add(territorys); } public List getTerritorys() { return territorys; } public Territory addTerritory(String aName) { Territory newTerritory; newTerritory = new Territory(aName); if (!territorys.contains(newTerritory)) { registry.add(newTerritory); territorys.add(newTerritory); } return newTerritory; } public Territory addTerritory(Territory aTerritory) { if (!territorys.contains(aTerritory)) territorys.add(aTerritory); return aTerritory; } public void delete() { //Delete all many ends first. for (Territory aTerritory : territorys) { aTerritory.delete(); } territorys.clear(); } public void deleteTerritory(Territory aTerritory) { if (territorys.contains(aTerritory)) { territorys.remove(aTerritory); //registry.removeObj(registry.getKey(aTerritory)); } else //Throw an UmpleException .. to be implemented. { } } public boolean areManyEndsNull() { if (territorys.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; } }