Street history
- Save time of entry for each vehicle Signed-off-by: HeshamTB <hishaminv@gmail.com>
This commit is contained in:
parent
3a91f2f0f1
commit
fbd39f4081
@ -1,21 +1,33 @@
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class Street {
|
public class Street {
|
||||||
|
|
||||||
private double length;
|
private double length;
|
||||||
private int numberOfLanes;
|
private int numberOfLanes;
|
||||||
private ArrayList<Vehicle> vehicles;
|
private ArrayList<Vehicle> vehicles; //Current
|
||||||
|
private HashMap<Vehicle, ArrayList<Date>> vehiclesHistory;//History of vehicles
|
||||||
private StreetNames name;
|
private StreetNames name;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Street(double length, int numberOfLanes, StreetNames name) {
|
public Street(double length, int numberOfLanes, StreetNames name) {
|
||||||
vehicles = new ArrayList<>();
|
vehicles = new ArrayList<>();
|
||||||
|
vehiclesHistory = new HashMap<>();
|
||||||
setLength(length);
|
setLength(length);
|
||||||
setNumberOfLanes(numberOfLanes);
|
setNumberOfLanes(numberOfLanes);
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Date[] getHistoryForVehicle(Vehicle vehicle){
|
||||||
|
if (vehiclesHistory.containsKey(vehicle)){
|
||||||
|
Date[] hist = new Date[vehiclesHistory.get(vehicle).size()];
|
||||||
|
return vehiclesHistory.get(vehicle).toArray(hist);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
private void setLength(double length) {
|
private void setLength(double length) {
|
||||||
if (length >= 0) this.length = length;
|
if (length >= 0) this.length = length;
|
||||||
else throw new IllegalArgumentException("Can not make a negative length street");
|
else throw new IllegalArgumentException("Can not make a negative length street");
|
||||||
@ -83,10 +95,15 @@ public class Street {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void addVehicle(Vehicle vehicle) {
|
public void addVehicle(Vehicle vehicle) {
|
||||||
//if(capcity() > vehicle.getVehicleSize() + 0.5) {
|
|
||||||
//adds incoming vehicle in last.
|
|
||||||
vehicles.add(vehicle);
|
vehicles.add(vehicle);
|
||||||
//}
|
addHistoryEntry(vehicle);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addHistoryEntry(Vehicle vehicle) {
|
||||||
|
if (!vehiclesHistory.containsKey(vehicle)) {
|
||||||
|
vehiclesHistory.put(vehicle, new ArrayList<>());
|
||||||
|
}
|
||||||
|
vehiclesHistory.get(vehicle).add(MakkahCity.getTimeMan().getCurrentTime());//Add time
|
||||||
}
|
}
|
||||||
|
|
||||||
public double capcityPoint(double min, double max) {
|
public double capcityPoint(double min, double max) {
|
||||||
|
Loading…
Reference in New Issue
Block a user