/**
* Narvaro: @VERSION@
* Build Date: @DATE@
* Commit Head: @HEAD@
* JDK: @JDK@
* ANT: @ANT@
*
*/
package edu.csus.ecs.moneybeets.narvaro.model;
import java.time.YearMonth;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.apache.log4j.Logger;
public class TimeSpan {
@SuppressWarnings("unused")
private static final Logger LOG = Logger.getLogger(TimeSpan.class.getName());
private final YearMonth start;
private final YearMonth end;
private final Map<String, ParkMonth> parkMonths = new HashMap<String, ParkMonth>();
public TimeSpan(final YearMonth start, final YearMonth end) {
this.start = start;
this.end = end;
}
public YearMonth getStart() {
return start;
}
public YearMonth getEnd() {
return end;
}
/**
* @param key The park name to return a <code>ParkMonth</code> from.
* @return A <code>ParkMonth</code> represented by this key.
*/
public final ParkMonth getParkMonth(final String key) {
return parkMonths.get(key);
}
/**
* @return A collection of <code>ParkMonth</code> representing this
* time span.
*/
public Collection<ParkMonth> getAllParkMonths() {
return Collections.unmodifiableCollection(parkMonths.values());
}
/**
* @return A collection of all park names registered with the database.
*/
public Collection<String> getAllParkNames() {
return Collections.unmodifiableCollection(parkMonths.keySet());
}
/**
* Stores a parkmonth in this time span by park name.
*
* @param parkName The park name.
* @param parkMonth The park month.
*/
public void putParkMonth(final String parkName, final ParkMonth parkMonth) {
parkMonths.put(parkName, parkMonth);
}
}