/*This code was generated using the UMPLE modeling language! Date of generation: 2008/07/30 11:21:38*/ /*This class drives: InsurancePolicy, LifeInsurancePolicy*/ package insurance.core; import java.util.*; import java.sql.Date; import insurance.*; import insurance.json.*; public class Person { //Class datatypes private String name; private String address; private String dateOfBirth; //Class association variables private List insurancePolicys; private List lifeInsurancePolicys; private List lifeInsuranceByAssociations; //Registry of our system. InsuranceRegistry registry = InsuranceRegistry.getInstance(); //Constructor public Person(String aName, String aAddress, String aDateOfBirth) { name = aName; address = aAddress; dateOfBirth = aDateOfBirth; insurancePolicys = new ArrayList(); registry.add(insurancePolicys); lifeInsurancePolicys = new ArrayList(); registry.add(lifeInsurancePolicys); lifeInsuranceByAssociations = new ArrayList(); registry.add(lifeInsuranceByAssociations); } public boolean setName(String aName) { name = aName; return true; } public boolean setAddress(String aAddress) { address = aAddress; return true; } public boolean setDateOfBirth(String aDateOfBirth) { dateOfBirth = aDateOfBirth; return true; } public String getName() { return name; } public String getAddress() { return address; } public String getDateOfBirth() { return dateOfBirth; } public List getInsurancePolicys() { return insurancePolicys; } public List getLifeInsurancePolicys() { return lifeInsurancePolicys; } public List getLifeInsuranceByAssociations() { return lifeInsuranceByAssociations; } public InsurancePolicy addInsurancePolicy(String aPolicyNumber, String aMonthlyPremium, String aStarDate, String aEndDate, String aInsuradValue, Person aHolder) { InsurancePolicy newInsurancePolicy; newInsurancePolicy = new InsurancePolicy(aPolicyNumber, aMonthlyPremium, aStarDate, aEndDate, aInsuradValue, aHolder); if (!insurancePolicys.contains(newInsurancePolicy)) { registry.add(newInsurancePolicy); insurancePolicys.add(newInsurancePolicy); } return newInsurancePolicy; } public InsurancePolicy addInsurancePolicy(InsurancePolicy aInsurancePolicy) { if (!insurancePolicys.contains(aInsurancePolicy)) insurancePolicys.add(aInsurancePolicy); return aInsurancePolicy; } public LifeInsurancePolicy addLifeInsurancePolicy(String aPolicyNumber, String aMonthlyPremium, String aStarDate, String aEndDate, String aInsuradValue, Person aHolder, Person aInsuredLife) { LifeInsurancePolicy newLifeInsurancePolicy; newLifeInsurancePolicy = new LifeInsurancePolicy(aPolicyNumber, aMonthlyPremium, aStarDate, aEndDate, aInsuradValue, aHolder, aInsuredLife); if (!lifeInsurancePolicys.contains(newLifeInsurancePolicy)) { registry.add(newLifeInsurancePolicy); lifeInsurancePolicys.add(newLifeInsurancePolicy); } return newLifeInsurancePolicy; } public LifeInsurancePolicy addLifeInsurancePolicy( LifeInsurancePolicy aLifeInsurancePolicy) { if (!lifeInsurancePolicys.contains(aLifeInsurancePolicy)) lifeInsurancePolicys.add(aLifeInsurancePolicy); return aLifeInsurancePolicy; } public LifeInsurancePolicy addLifeInsuranceByAssociation( String aPolicyNumber, String aMonthlyPremium, String aStarDate, String aEndDate, String aInsuradValue, Person aHolder, Person aInsuredLife) { LifeInsurancePolicy newLifeInsurancePolicy; newLifeInsurancePolicy = new LifeInsurancePolicy(aPolicyNumber, aMonthlyPremium, aStarDate, aEndDate, aInsuradValue, aHolder, aInsuredLife); if (!lifeInsuranceByAssociations.contains(newLifeInsurancePolicy)) { registry.add(newLifeInsurancePolicy); lifeInsuranceByAssociations.add(newLifeInsurancePolicy); } return newLifeInsurancePolicy; } public LifeInsurancePolicy addLifeInsuranceByAssociation( LifeInsurancePolicy aLifeInsuranceByAssociation) { if (!lifeInsuranceByAssociations.contains(aLifeInsuranceByAssociation)) lifeInsuranceByAssociations.add(aLifeInsuranceByAssociation); return aLifeInsuranceByAssociation; } public void delete() { //Delete all many ends first. for (InsurancePolicy aInsurancePolicy : insurancePolicys) { aInsurancePolicy.delete(); } insurancePolicys.clear(); //Delete all many ends first. for (LifeInsurancePolicy aLifeInsurancePolicy : lifeInsurancePolicys) { aLifeInsurancePolicy.delete(); } lifeInsurancePolicys.clear(); //Delete all many ends first. for (LifeInsurancePolicy aLifeInsurancePolicy : lifeInsuranceByAssociations) { aLifeInsurancePolicy.delete(); } lifeInsuranceByAssociations.clear(); } public void deleteInsurancePolicy(InsurancePolicy aInsurancePolicy) { if (insurancePolicys.contains(aInsurancePolicy)) { insurancePolicys.remove(aInsurancePolicy); //registry.removeObj(registry.getKey(aInsurancePolicy)); } else //Throw an UmpleException .. to be implemented. { } } public void deleteLifeInsurancePolicy(LifeInsurancePolicy aLifeInsurancePolicy) { if (lifeInsurancePolicys.contains(aLifeInsurancePolicy)) { lifeInsurancePolicys.remove(aLifeInsurancePolicy); //registry.removeObj(registry.getKey(aLifeInsurancePolicy)); } else //Throw an UmpleException .. to be implemented. { } } public void deleteLifeInsuranceByAssociation( LifeInsurancePolicy aLifeInsurancePolicy) { if (lifeInsuranceByAssociations.contains(aLifeInsurancePolicy)) { lifeInsuranceByAssociations.remove(aLifeInsurancePolicy); //registry.removeObj(registry.getKey(aLifeInsurancePolicy)); } else //Throw an UmpleException .. to be implemented. { } } public boolean areManyEndsNull() { if (insurancePolicys.size() == 0 && lifeInsurancePolicys.size() == 0 && lifeInsuranceByAssociations.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("name", getName()); obj.put("address", getAddress()); obj.put("dateOfBirth", getDateOfBirth()); return obj; } }