/*This code was generated using the UMPLE modeling language! Date of generation: 2008/07/30 11:46:04*/ /*This class drives: TelephoneNumber*/ package telesystem.core; import java.util.*; import telesystem.*; import telesystem.json.*; public class Feature { //Class datatypes private String description; //Class association variables private List telephoneNumbers; //Registry of our system. TelesystemRegistry registry = TelesystemRegistry.getInstance(); //Constructor public Feature(String aDescription) { description = aDescription; telephoneNumbers = new ArrayList(); registry.add(telephoneNumbers); } public boolean setDescription(String aDescription) { description = aDescription; return true; } public String getDescription() { return description; } public List getTelephoneNumbers() { return telephoneNumbers; } public TelephoneNumber addTelephoneNumber(String aDigits, VoiceMailBox aVoiceMailBox) { TelephoneNumber newTelephoneNumber; newTelephoneNumber = new TelephoneNumber(aDigits, aVoiceMailBox); if (!telephoneNumbers.contains(newTelephoneNumber)) { registry.add(newTelephoneNumber); telephoneNumbers.add(newTelephoneNumber); } return newTelephoneNumber; } public TelephoneNumber addTelephoneNumber(TelephoneNumber aTelephoneNumber) { if (!telephoneNumbers.contains(aTelephoneNumber)) telephoneNumbers.add(aTelephoneNumber); return aTelephoneNumber; } public void delete() { //Delete all many ends first. for (TelephoneNumber aTelephoneNumber : telephoneNumbers) { aTelephoneNumber.delete(); } telephoneNumbers.clear(); } public void deleteTelephoneNumber(TelephoneNumber aTelephoneNumber) { if (telephoneNumbers.contains(aTelephoneNumber)) { telephoneNumbers.remove(aTelephoneNumber); //registry.removeObj(registry.getKey(aTelephoneNumber)); } else //Throw an UmpleException .. to be implemented. { } } public boolean areManyEndsNull() { if (telephoneNumbers.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("description", getDescription()); return obj; } }