/*This code was generated using the UMPLE modeling language! Date of generation: 2008/07/30 13:12:55*/ /*This class drives: RWBMMovement, RWBMMovement*/ package Warehouse.core; import java.util.*; import java.sql.Time; import Warehouse.*; import Warehouse.json.*; public class MovementLocation { //Class datatypes //Class association variables private List toMovements; private List fromMovements; //Registry of our system. WarehouseRegistry registry = WarehouseRegistry.getInstance(); //Constructor public MovementLocation() { toMovements = new ArrayList(); registry.add(toMovements); fromMovements = new ArrayList(); registry.add(fromMovements); } public List getToMovements() { return toMovements; } public List getFromMovements() { return fromMovements; } public RWBMMovement addToMovement(double aStartTime, double aEndTime, MovementLocation aTo, MovementLocation aFrom, BoxOrPallet aMovedBox) { RWBMMovement newRWBMMovement; newRWBMMovement = new RWBMMovement(aStartTime, aEndTime, aTo, aFrom, aMovedBox); if (!toMovements.contains(newRWBMMovement)) { registry.add(newRWBMMovement); toMovements.add(newRWBMMovement); } return newRWBMMovement; } public RWBMMovement addToMovement(RWBMMovement aToMovement) { if (!toMovements.contains(aToMovement)) toMovements.add(aToMovement); return aToMovement; } public RWBMMovement addFromMovement(double aStartTime, double aEndTime, MovementLocation aTo, MovementLocation aFrom, BoxOrPallet aMovedBox) { RWBMMovement newRWBMMovement; newRWBMMovement = new RWBMMovement(aStartTime, aEndTime, aTo, aFrom, aMovedBox); if (!fromMovements.contains(newRWBMMovement)) { registry.add(newRWBMMovement); fromMovements.add(newRWBMMovement); } return newRWBMMovement; } public RWBMMovement addFromMovement(RWBMMovement aFromMovement) { if (!fromMovements.contains(aFromMovement)) fromMovements.add(aFromMovement); return aFromMovement; } public void delete() { //Delete all many ends first. for (RWBMMovement aRWBMMovement : toMovements) { aRWBMMovement.delete(); } toMovements.clear(); //Delete all many ends first. for (RWBMMovement aRWBMMovement : fromMovements) { aRWBMMovement.delete(); } fromMovements.clear(); } public void deleteToMovement(RWBMMovement aRWBMMovement) { if (toMovements.contains(aRWBMMovement)) { toMovements.remove(aRWBMMovement); //registry.removeObj(registry.getKey(aRWBMMovement)); } else //Throw an UmpleException .. to be implemented. { } } public void deleteFromMovement(RWBMMovement aRWBMMovement) { if (fromMovements.contains(aRWBMMovement)) { fromMovements.remove(aRWBMMovement); //registry.removeObj(registry.getKey(aRWBMMovement)); } else //Throw an UmpleException .. to be implemented. { } } public boolean areManyEndsNull() { if (toMovements.size() == 0 && fromMovements.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; } }