/*
* This file is part of LeagueLib.
* LeagueLib 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.
*
* LeagueLib 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 LeagueLib. If not, see <http://www.gnu.org/licenses/>.
*/
package com.achimala.leaguelib.models;
import com.achimala.leaguelib.models.LeagueChampion;
import com.achimala.util.BidirectionalMap;
import java.util.HashMap;
public class LeagueChampion {
private static BidirectionalMap<Integer, String> _modelMap;
private static HashMap<Integer, LeagueChampion> _champMap;
static {
_modelMap = new BidirectionalMap<Integer, String>();
_modelMap.put( 0, null); // represents a catch-all champion for stats
_modelMap.put( 1, "Annie");
_modelMap.put( 2, "Olaf");
_modelMap.put( 3, "Galio");
_modelMap.put( 4, "Twisted Fate");
_modelMap.put( 5, "Xin Zhao");
_modelMap.put( 6, "Urgot");
_modelMap.put( 7, "LeBlanc");
_modelMap.put( 8, "Vladimir");
_modelMap.put( 9, "Fiddlesticks");
_modelMap.put( 10, "Kayle");
_modelMap.put( 11, "Master Yi");
_modelMap.put( 12, "Alistar");
_modelMap.put( 13, "Ryze");
_modelMap.put( 14, "Sion");
_modelMap.put( 15, "Sivir");
_modelMap.put( 16, "Soraka");
_modelMap.put( 17, "Teemo");
_modelMap.put( 18, "Tristana");
_modelMap.put( 19, "Warwick");
_modelMap.put( 20, "Nunu");
_modelMap.put( 21, "Miss Fortune");
_modelMap.put( 22, "Ashe");
_modelMap.put( 23, "Tryndamere");
_modelMap.put( 24, "Jax");
_modelMap.put( 25, "Morgana");
_modelMap.put( 26, "Zilean");
_modelMap.put( 27, "Singed");
_modelMap.put( 28, "Evelynn");
_modelMap.put( 29, "Twitch");
_modelMap.put( 30, "Karthus");
_modelMap.put( 31, "Cho'Gath");
_modelMap.put( 32, "Amumu");
_modelMap.put( 33, "Rammus");
_modelMap.put( 34, "Anivia");
_modelMap.put( 35, "Shaco");
_modelMap.put( 36, "Dr. Mundo");
_modelMap.put( 37, "Sona");
_modelMap.put( 38, "Kassadin");
_modelMap.put( 39, "Irelia");
_modelMap.put( 40, "Janna");
_modelMap.put( 41, "Gangplank");
_modelMap.put( 42, "Corki");
_modelMap.put( 43, "Karma");
_modelMap.put( 44, "Taric");
_modelMap.put( 45, "Veigar");
_modelMap.put( 48, "Trundle");
_modelMap.put( 50, "Swain");
_modelMap.put( 51, "Caitlyn");
_modelMap.put( 53, "Blitzcrank");
_modelMap.put( 54, "Malphite");
_modelMap.put( 55, "Katarina");
_modelMap.put( 56, "Nocturne");
_modelMap.put( 57, "Maokai");
_modelMap.put( 58, "Renekton");
_modelMap.put( 59, "Jarvan IV");
_modelMap.put( 61, "Orianna");
_modelMap.put( 62, "Wukong");
_modelMap.put( 63, "Brand");
_modelMap.put( 64, "Lee Sin");
_modelMap.put( 67, "Vayne");
_modelMap.put( 68, "Rumble");
_modelMap.put( 69, "Cassiopeia");
_modelMap.put( 72, "Skarner");
_modelMap.put( 74, "Heimerdinger");
_modelMap.put( 75, "Nasus");
_modelMap.put( 76, "Nidalee");
_modelMap.put( 77, "Udyr");
_modelMap.put( 78, "Poppy");
_modelMap.put( 79, "Gragas");
_modelMap.put( 80, "Pantheon");
_modelMap.put( 81, "Ezreal");
_modelMap.put( 82, "Mordekaiser");
_modelMap.put( 83, "Yorick");
_modelMap.put( 84, "Akali");
_modelMap.put( 85, "Kennen");
_modelMap.put( 86, "Garen");
_modelMap.put( 89, "Leona");
_modelMap.put( 90, "Malzahar");
_modelMap.put( 91, "Talon");
_modelMap.put( 92, "Riven");
_modelMap.put( 96, "Kog'Maw");
_modelMap.put( 98, "Shen");
_modelMap.put( 99, "Lux");
_modelMap.put(101, "Xerath");
_modelMap.put(102, "Shyvana");
_modelMap.put(103, "Ahri");
_modelMap.put(104, "Graves");
_modelMap.put(105, "Fizz");
_modelMap.put(106, "Volibear");
_modelMap.put(110, "Varus");
_modelMap.put(111, "Nautilus");
_modelMap.put(112, "Viktor");
_modelMap.put(113, "Sejuani");
_modelMap.put(114, "Fiora");
_modelMap.put(115, "Ziggs");
_modelMap.put(117, "Lulu");
_modelMap.put(119, "Draven");
_modelMap.put(120, "Hecarim");
_modelMap.put(122, "Darius");
_modelMap.put(126, "Jayce");
_modelMap.put(143, "Zyra");
_modelMap.put(131, "Diana");
_modelMap.put(107, "Rengar");
_modelMap.put(134, "Syndra");
_modelMap.put(121, "Kha'Zix");
_modelMap.put( 60, "Elise");
_modelMap.put(238, "Zed");
_modelMap.put(267, "Nami");
_modelMap.put(254, "Vi");
_modelMap.put(412, "Thresh");
_modelMap.put(133, "Quinn");
_modelMap.put(154, "Zac");
_modelMap.put(127, "Lissandra");
_modelMap.put(266, "Aatrox");
_modelMap.put(236, "Lucian");
_modelMap.put(222, "Jinx");
_modelMap.put(157, "Yasuo");
_modelMap.put(161, "Vel'Koz");
_champMap = new HashMap<Integer, LeagueChampion>();
}
public static String getNameForChampion(int id) {
return _modelMap.get(id);
}
public static int getIdForChampion(String name) {
return _modelMap.getKey(name);
}
public static LeagueChampion getChampionWithName(String name) {
return getChampionWithId(_modelMap.getKey(name));
}
public static LeagueChampion getChampionWithId(int id) {
if(!_champMap.containsKey(id))
_champMap.put(id, new LeagueChampion(id));
return _champMap.get(id);
}
private String _name;
private int _id;
private LeagueChampion(String name) {
_name = name;
_id = getIdForChampion(name);
}
private LeagueChampion(int id) {
_name = getNameForChampion(id);
_id = id;
}
public void setName(String name) {
_name = name;
}
public void setId(int id) {
_id = id;
}
public String getName() {
return _name;
}
public int getId() {
return _id;
}
public String toString() {
return "<Champion " + _name + "(#" + _id + ")>";
}
// public String getFilename() {
// return getName().toLowerCase().replaceAll("[^a-z0-9]", "");
// }
}