Calendar.java
package org.microcol.model;
import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
public class Calendar {
private final int startYear;
private final int endYear;
private int currentYear;
Calendar(final int startYear, final int endYear) {
Preconditions.checkArgument(startYear < endYear, "Start year (%s) must be less than end year (%s).", startYear, endYear);
this.startYear = startYear;
this.endYear = endYear;
this.currentYear = startYear;
}
public int getStartYear() {
return startYear;
}
public int getEndYear() {
return endYear;
}
public int getCurrentYear() {
return currentYear;
}
boolean isFinished() {
return currentYear >= endYear;
}
void endRound() {
Preconditions.checkState(!isFinished(), "End year (%s) already reached.", endYear);
currentYear++;
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("startYear", startYear)
.add("endYear", endYear)
.add("currentYear", currentYear)
.toString();
}
}