/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.petah.spring.bai.gui.model; import java.util.Map; import javax.swing.AbstractListModel; import org.petah.spring.bai.cache.CachedUnit; import org.petah.spring.bai.delegate.TeamDelegate; /** * * @author Petah */ public class UnitListModel extends AbstractListModel { Map<Integer, CachedUnit> units; public UnitListModel(Map<Integer, CachedUnit> units) { this.units = units; } public Object getElementAt(int index) { CachedUnit unit = getUnit(index); if (unit != null) { if (unit.getDef() != null) { return "Team " + unit.getTeam() + ": " + unit.getUnitId() + " " + unit.getDef().getHumanName(); } return "Team " + unit.getTeam() + ": " + unit.getUnitId() + " Unknown Unit"; } return "Exception thrown in UnitListModel.getUnit()."; } public int getSize() { return units.values().size(); } public CachedUnit getUnit(int index) { try { return (CachedUnit) units.values().toArray()[index]; } catch (Exception e) { return null; } } }