Rework PDate
- Make PDate a static class or all methods and members are static to be used in the main implementation (Makkah) - isValidTime(Date) method to check if date is within simulation timeline
This commit is contained in:
parent
1f884631ee
commit
3ae32ebb11
@ -1,63 +1,62 @@
|
|||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to manage and track timeline of Hajj-Simulation
|
* Class to manage and track timeline of Hajj-Simulation
|
||||||
*/
|
*/
|
||||||
public class PDate extends Calendar {
|
public class PDate extends Calendar {
|
||||||
|
|
||||||
private final Calendar startCalendar = Calendar.getInstance();
|
public static final Calendar startCalendar = new GregorianCalendar(2020,Calendar.JANUARY,15,13,0,0);
|
||||||
private final Calendar endCalendar= Calendar.getInstance();
|
public static final Calendar endCalendar= new GregorianCalendar(2020,Calendar.JANUARY,15,20,0,0);
|
||||||
private final Calendar currentCalendar = Calendar.getInstance();
|
private static final Calendar currentCalendar = (GregorianCalendar)startCalendar.clone();
|
||||||
private boolean ended;
|
private static boolean ended;
|
||||||
|
|
||||||
public PDate(){
|
public static Calendar getStartCalendar() {
|
||||||
startCalendar.set(2020,0,15,13,0,0);
|
|
||||||
endCalendar.set(2020,0,15,20,0,0);
|
|
||||||
currentCalendar.setTime(startCalendar.getTime());
|
|
||||||
}
|
|
||||||
|
|
||||||
public PDate(Calendar startCalendar, Calendar endCalendar){
|
|
||||||
this.startCalendar.setTime(startCalendar.getTime());
|
|
||||||
this.endCalendar.setTime(endCalendar.getTime());
|
|
||||||
currentCalendar.setTime(startCalendar.getTime());
|
|
||||||
}
|
|
||||||
|
|
||||||
public Calendar getStartCalendar() {
|
|
||||||
return startCalendar;
|
return startCalendar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Calendar getEndCalendar() {
|
public static Calendar getEndCalendar() {
|
||||||
return endCalendar;
|
return endCalendar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Calendar getCurrentCalendar() {
|
public static Calendar getCurrentCalendar() {
|
||||||
return currentCalendar;
|
return currentCalendar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getStartTime() {
|
public static Date getStartTime() {
|
||||||
return startCalendar.getTime();
|
return startCalendar.getTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getEndTime(){
|
public static Date getEndTime(){
|
||||||
return endCalendar.getTime();
|
return endCalendar.getTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getCurrentTime() {
|
public static Date getCurrentTime() {
|
||||||
return currentCalendar.getTime();
|
return currentCalendar.getTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void step(int key, int value){
|
public static void step(int key, int value){
|
||||||
if (currentCalendar.before(endCalendar)){
|
if (currentCalendar.before(endCalendar)){
|
||||||
currentCalendar.add(key, value);
|
currentCalendar.add(key, value);
|
||||||
}
|
}
|
||||||
else if (currentCalendar.after(endCalendar) || currentCalendar.equals(endCalendar)) {
|
else if (currentCalendar.after(endCalendar) || currentCalendar.equals(endCalendar)) {
|
||||||
ended = true;
|
ended = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isEnded(){
|
/**
|
||||||
|
Check if time/date provided falls within the simulation timeline
|
||||||
|
*/
|
||||||
|
public static boolean isValidTime(Date timeToLeaveToDest) {
|
||||||
|
if (timeToLeaveToDest.after(PDate.endCalendar.getTime()) ||
|
||||||
|
timeToLeaveToDest.before(PDate.startCalendar.getTime()))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isEnded(){
|
||||||
return ended;
|
return ended;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,3 +100,7 @@ public class PDate extends Calendar {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class OutOfSimulationTimeException extends Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user