/*This code was generated using the UMPLE modeling language! Date of generation: 2008/07/31 09:37:17*/ /*This class drives: ClientOrderLineItem*/ package ClientOrder.core; import java.util.*; import ClientOrder.*; import ClientOrder.json.*; public class OrderFromClient { //Class datatypes private String ourOrderNumber; private String datePlaced; private String clientsPurchaseOrder; private String creditCardToCharge; //Class association variables private Client client; private List clientOrderLineItems; private SalesPerson salesPerson; //Registry of our system. ClientOrderRegistry registry = ClientOrderRegistry.getInstance(); //Constructor public OrderFromClient(String aOurOrderNumber, String aDatePlaced, String aClientsPurchaseOrder, String aCreditCardToCharge, Client aClient) { ourOrderNumber = aOurOrderNumber; datePlaced = aDatePlaced; clientsPurchaseOrder = aClientsPurchaseOrder; creditCardToCharge = aCreditCardToCharge; client = aClient; client.addOrderFromClient(this); clientOrderLineItems = new ArrayList(); registry.add(clientOrderLineItems); } public boolean setOurOrderNumber(String aOurOrderNumber) { ourOrderNumber = aOurOrderNumber; return true; } public boolean setDatePlaced(String aDatePlaced) { datePlaced = aDatePlaced; return true; } public boolean setClientsPurchaseOrder(String aClientsPurchaseOrder) { clientsPurchaseOrder = aClientsPurchaseOrder; return true; } public boolean setCreditCardToCharge(String aCreditCardToCharge) { creditCardToCharge = aCreditCardToCharge; return true; } public String getOurOrderNumber() { return ourOrderNumber; } public String getDatePlaced() { return datePlaced; } public String getClientsPurchaseOrder() { return clientsPurchaseOrder; } public String getCreditCardToCharge() { return creditCardToCharge; } public Client getClient() { return client; } public List getClientOrderLineItems() { return clientOrderLineItems; } public SalesPerson getSalesPerson() { return salesPerson; } public ClientOrderLineItem addClientOrderLineItem(String aNumberOrdered, String aPricePerUnitCharged, OrderFromClient aOrderFromClient, Product aProduct) { ClientOrderLineItem newClientOrderLineItem; newClientOrderLineItem = new ClientOrderLineItem(aNumberOrdered, aPricePerUnitCharged, this, aProduct); if (!clientOrderLineItems.contains(newClientOrderLineItem)) { registry.add(newClientOrderLineItem); clientOrderLineItems.add(newClientOrderLineItem); } return newClientOrderLineItem; } public ClientOrderLineItem addClientOrderLineItem( ClientOrderLineItem aClientOrderLineItem) { if (!clientOrderLineItems.contains(aClientOrderLineItem)) clientOrderLineItems.add(aClientOrderLineItem); return aClientOrderLineItem; } /* This class does not drive Client and therefore sets the association unidirectionally.*/ public void setClient(Client aClient) { client = aClient; } /* This class does not drive SalesPerson and therefore sets the association unidirectionally.*/ public void setSalesPerson(SalesPerson aSalesPerson) { salesPerson = aSalesPerson; } public void delete() { //Delete all many ends first. for (ClientOrderLineItem aClientOrderLineItem : clientOrderLineItems) { aClientOrderLineItem.delete(); } clientOrderLineItems.clear(); //Delete all 1 ends. client.deleteOrderFromClient(this); salesPerson.deleteOrderFromClient(this); } public void deleteClientOrderLineItem(ClientOrderLineItem aClientOrderLineItem) { if (clientOrderLineItems.contains(aClientOrderLineItem)) { clientOrderLineItems.remove(aClientOrderLineItem); //registry.removeObj(registry.getKey(aClientOrderLineItem)); } else //Throw an UmpleException .. to be implemented. { } } public void deleteSalesPerson(SalesPerson aSalesPerson) { if (aSalesPerson.equals(salesPerson)) { salesPerson = null; registry.removeObj(registry.getKey(aSalesPerson)); } else //Throw an UmpleException .. to be implemented. { } } public boolean areManyEndsNull() { if (clientOrderLineItems.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("ourOrderNumber", getOurOrderNumber()); obj.put("datePlaced", getDatePlaced()); obj.put("clientsPurchaseOrder", getClientsPurchaseOrder()); obj.put("creditCardToCharge", getCreditCardToCharge()); return obj; } }