package packet_readers.aion.holders;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import org.apache.log4j.Logger;
import org.napile.primitive.maps.IntObjectMap;
import org.napile.primitive.maps.impl.HashIntObjectMap;
/**
* Author: VISTALL
* Company: J Develop Station
* Date: 19:57:29/31.07.2010
*/
public class ClientStringHolder
{
private static final Logger _log = Logger.getLogger(ClientStringHolder.class);
private static ClientStringHolder _instance;
private IntObjectMap<String> _strings = new HashIntObjectMap<String>();
public static ClientStringHolder getInstance()
{
if (_instance == null)
{
_instance = new ClientStringHolder();
}
return _instance;
}
private ClientStringHolder()
{
InputStream stream = getClass().getResourceAsStream("/com/jds/jn/resources/datas/client_strings.csv");
if(stream == null)
{
_log.info("Not exists");
return;
}
LineNumberReader lineReader = new LineNumberReader(new InputStreamReader(stream));
try
{
String line = null;
while((line = lineReader.readLine()) != null)
{
if(line.contains("#"))
continue;
String[] st = line.split("\t");
int itemId = Integer.parseInt(st[0]);
String itemName = st[1];
_strings.put(itemId, itemName);
}
}
catch (IOException e)
{
_log.info("Exception: " + e, e);
}
finally
{
try
{
lineReader.close();
}
catch (IOException e)
{
//
}
}
_log.info("Load client strings " + _strings.size());
}
public String name(int itemId)
{
String name = _strings.get(itemId);
return name == null ? "None" : name;
}
}