/******************************************************************************* * Copyright (c) 2014, 2015 Scott Clarke (scott@dawg6.com). * * This file is part of Dawg6's Demon Hunter DPS Calculator. * * Dawg6's Demon Hunter DPS Calculator is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Dawg6's Demon Hunter DPS Calculator is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. *******************************************************************************/ package com.dawg6.web.dhcalc.shared.calculator; import java.io.Serializable; import java.util.Collection; import java.util.Map; import java.util.TreeMap; import java.util.TreeSet; public class TargetList implements Serializable { private static final long serialVersionUID = -570917745839246976L; private final Map<TargetType, TargetHolder> targets = new TreeMap<TargetType, TargetHolder>(); public void setTarget(TargetType type, TargetHolder target) { this.targets.put(type, target); } public TargetHolder getTarget(TargetType type) { return targets.get(type); } public int getNumTargets() { return targets.size(); } public int getNumAdditional() { int i = targets.size(); if (targets.containsKey(TargetType.Primary)) i--; return i; } public int getNumAlive() { int i = 0; for (TargetHolder t : targets.values()) { if (t.isAlive()) i++; } return i; } public Collection<TargetType> toList() { return new TreeSet<TargetType>(targets.keySet()); } }