/*This code was generated using the UMPLE modeling language! Date of generation: 2008/07/31 09:37:17*/ /*This class drives: OrderFromClient, ShipmentToClient*/ package ClientOrder.core; import java.util.*; import java.sql.Date; import ClientOrder.*; import ClientOrder.json.*; public class Client { //Class datatypes private String number; private String name; private String address; private String phone; private String creditLimit; //Class association variables private List orderFromClients; private List shipmentToClients; //Registry of our system. ClientOrderRegistry registry = ClientOrderRegistry.getInstance(); //Constructor public Client(String aNumber, String aName, String aAddress, String aPhone, String aCreditLimit) { number = aNumber; name = aName; address = aAddress; phone = aPhone; creditLimit = aCreditLimit; orderFromClients = new ArrayList(); registry.add(orderFromClients); shipmentToClients = new ArrayList(); registry.add(shipmentToClients); } public boolean setNumber(String aNumber) { number = aNumber; return true; } public boolean setName(String aName) { name = aName; return true; } public boolean setAddress(String aAddress) { address = aAddress; return true; } public boolean setPhone(String aPhone) { phone = aPhone; return true; } public boolean setCreditLimit(String aCreditLimit) { creditLimit = aCreditLimit; return true; } public String getNumber() { return number; } public String getName() { return name; } public String getAddress() { return address; } public String getPhone() { return phone; } public String getCreditLimit() { return creditLimit; } public List getOrderFromClients() { return orderFromClients; } public List getShipmentToClients() { return shipmentToClients; } public OrderFromClient addOrderFromClient(String aOurOrderNumber, String aDatePlaced, String aClientsPurchaseOrder, String aCreditCardToCharge, Client aClient) { OrderFromClient newOrderFromClient; newOrderFromClient = new OrderFromClient(aOurOrderNumber, aDatePlaced, aClientsPurchaseOrder, aCreditCardToCharge, this); if (!orderFromClients.contains(newOrderFromClient)) { registry.add(newOrderFromClient); orderFromClients.add(newOrderFromClient); } return newOrderFromClient; } public OrderFromClient addOrderFromClient(OrderFromClient aOrderFromClient) { if (!orderFromClients.contains(aOrderFromClient)) orderFromClients.add(aOrderFromClient); return aOrderFromClient; } public ShipmentToClient addShipmentToClient(String aDateShipped, String aInvoiceNumber, String aTotalPriceOfShipment, String aAmountPaid, Client aClient) { ShipmentToClient newShipmentToClient; newShipmentToClient = new ShipmentToClient(aDateShipped, aInvoiceNumber, aTotalPriceOfShipment, aAmountPaid, this); if (!shipmentToClients.contains(newShipmentToClient)) { registry.add(newShipmentToClient); shipmentToClients.add(newShipmentToClient); } return newShipmentToClient; } public ShipmentToClient addShipmentToClient(ShipmentToClient aShipmentToClient) { if (!shipmentToClients.contains(aShipmentToClient)) shipmentToClients.add(aShipmentToClient); return aShipmentToClient; } public void delete() { //Delete all many ends first. for (OrderFromClient aOrderFromClient : orderFromClients) { aOrderFromClient.delete(); } orderFromClients.clear(); //Delete all many ends first. for (ShipmentToClient aShipmentToClient : shipmentToClients) { aShipmentToClient.delete(); } shipmentToClients.clear(); } public void deleteOrderFromClient(OrderFromClient aOrderFromClient) { if (orderFromClients.contains(aOrderFromClient)) { orderFromClients.remove(aOrderFromClient); //registry.removeObj(registry.getKey(aOrderFromClient)); } else //Throw an UmpleException .. to be implemented. { } } public void deleteShipmentToClient(ShipmentToClient aShipmentToClient) { if (shipmentToClients.contains(aShipmentToClient)) { shipmentToClients.remove(aShipmentToClient); //registry.removeObj(registry.getKey(aShipmentToClient)); } else //Throw an UmpleException .. to be implemented. { } } public boolean areManyEndsNull() { if (orderFromClients.size() == 0 && shipmentToClients.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("number", getNumber()); obj.put("name", getName()); obj.put("address", getAddress()); obj.put("phone", getPhone()); obj.put("creditLimit", getCreditLimit()); return obj; } }