package logbook.dto; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; /** * 集計結果 */ public final class BattleAggUnitDto extends AbstractDto { /** * 海域合算 */ private final BattleAggDetailsDto total = new BattleAggDetailsDto(); /** * 海域毎 */ private final Map<String, BattleAggDetailsDto> areaDetails = new TreeMap<>(); /** * 評価を集計する * * @param area 海域名 * @param rank 評価 * @param isStart 出撃 * @param isBoss ボス */ public void add(String area, String rank, boolean isStart, boolean isBoss) { // 合算に評価を加算 this.total.add(rank, isStart, isBoss); // 海域毎に評価を加算 BattleAggDetailsDto areaAgg = this.areaDetails.get(area); if (areaAgg == null) { areaAgg = new BattleAggDetailsDto(); this.areaDetails.put(area, areaAgg); } areaAgg.add(rank, isStart, isBoss); } /** * 集計結果を取得します * * @return 集計結果 */ public BattleAggDetailsDto getTotal() { return this.total; } /** * 海域毎の集計結果を取得します * * @return 海域毎の集計結果 */ public Set<Entry<String, BattleAggDetailsDto>> getAreaDetails() { return this.areaDetails.entrySet(); } }