/*This code was generated using the UMPLE modeling language! Date of generation: 2008/07/29 14:51:25*/ /*This class drives: */ package University.core; import java.util.*; import University.*; import University.json.*; public class Topic { //Class datatypes //Class association variables private List prerequisiteReasons; private List mutualExclusionReasons; //Registry of our system. UniversityRegistry registry = UniversityRegistry.getInstance(); //Constructor public Topic() { prerequisiteReasons = new ArrayList(); registry.add(prerequisiteReasons); mutualExclusionReasons = new ArrayList(); registry.add(mutualExclusionReasons); } public List getPrerequisiteReasons() { return prerequisiteReasons; } public List getMutualExclusionReasons() { return mutualExclusionReasons; } public PrerequisiteReason addPrerequisiteReason(Course aSuccessor, Course aPrerequisite) { PrerequisiteReason newPrerequisiteReason; newPrerequisiteReason = new PrerequisiteReason(aSuccessor, aPrerequisite); if (!prerequisiteReasons.contains(newPrerequisiteReason)) { registry.add(newPrerequisiteReason); prerequisiteReasons.add(newPrerequisiteReason); } return newPrerequisiteReason; } public PrerequisiteReason addPrerequisiteReason( PrerequisiteReason aPrerequisiteReason) { if (!prerequisiteReasons.contains(aPrerequisiteReason)) prerequisiteReasons.add(aPrerequisiteReason); return aPrerequisiteReason; } public MutualExclusionReason addMutualExclusionReason(Course aCourse, Course aIsMutualyExclusiveWith) { MutualExclusionReason newMutualExclusionReason; newMutualExclusionReason = new MutualExclusionReason(aCourse, aIsMutualyExclusiveWith); if (!mutualExclusionReasons.contains(newMutualExclusionReason)) { registry.add(newMutualExclusionReason); mutualExclusionReasons.add(newMutualExclusionReason); } return newMutualExclusionReason; } public MutualExclusionReason addMutualExclusionReason( MutualExclusionReason aMutualExclusionReason) { if (!mutualExclusionReasons.contains(aMutualExclusionReason)) mutualExclusionReasons.add(aMutualExclusionReason); return aMutualExclusionReason; } public void delete() { } public void deletePrerequisiteReason(PrerequisiteReason aPrerequisiteReason) { if (prerequisiteReasons.contains(aPrerequisiteReason)) { prerequisiteReasons.remove(aPrerequisiteReason); //registry.removeObj(registry.getKey(aPrerequisiteReason)); } else //Throw an UmpleException .. to be implemented. { } } public void deleteMutualExclusionReason( MutualExclusionReason aMutualExclusionReason) { if (mutualExclusionReasons.contains(aMutualExclusionReason)) { mutualExclusionReasons.remove(aMutualExclusionReason); //registry.removeObj(registry.getKey(aMutualExclusionReason)); } else //Throw an UmpleException .. to be implemented. { } } public boolean areManyEndsNull() { return true; } /*********************************** * 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; } }