/*This code was generated using the UMPLE modeling language! Date of generation: 2008/07/30 10:05:37*/ /*This class drives: Product*/ package MFP.core.blue; import java.util.*; import MFP.*; import MFP.core.green.*; import MFP.core.red.*; import MFP.core.black.*; import MFP.json.*; public class OrderLineItem { //Class datatypes //Class association variables private List products; //Registry of our system. MFPRegistry registry = MFPRegistry.getInstance(); //Constructor public OrderLineItem() { products = new ArrayList(); registry.add(products); } public List getProducts() { return products; } public Product addProduct(String aSerialNumber, Product aProduct, ProductType aProductType, OrderLineItem aOrderLineItem) { Product newProduct; newProduct = new Product(aSerialNumber, aProduct, aProductType, this); if (!products.contains(newProduct)) { registry.add(newProduct); products.add(newProduct); } return newProduct; } public Product addProduct(Product aProduct) { if (!products.contains(aProduct)) products.add(aProduct); return aProduct; } public void delete() { //Delete all many ends first. for (Product aProduct : products) { aProduct.delete(); } products.clear(); } public void deleteProduct(Product aProduct) { if (products.contains(aProduct)) { products.remove(aProduct); //registry.removeObj(registry.getKey(aProduct)); } else //Throw an UmpleException .. to be implemented. { } } public boolean areManyEndsNull() { if (products.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)); return obj; } }