Advertisement
Guest User

IconData

a guest
May 22nd, 2019
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 1.05 KB | None | 0 0
  1. import java.nio.file.Path;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4.  
  5. import net.sf.l2j.commons.data.xml.IXmlReader;
  6. import net.sf.l2j.commons.util.StatsSet;
  7.  
  8. import org.w3c.dom.Document;
  9.  
  10. public final class IconData implements IXmlReader
  11. {
  12.     private final Map<Integer, String> _icons = new HashMap<>();
  13.    
  14.     public IconData()
  15.     {
  16.         load();
  17.     }
  18.    
  19.     @Override
  20.     public void load()
  21.     {
  22.         parseFile("./data/xml/icons.xml");
  23.         LOGGER.info("Loaded {} icon data.", _icons.size());
  24.     }
  25.    
  26.     @Override
  27.     public void parseDocument(Document doc, Path path)
  28.     {
  29.         forEach(doc, "list", listNode -> forEach(listNode, "icon", iconNode ->
  30.         {
  31.             final StatsSet set = parseAttributes(iconNode);
  32.             _icons.put(set.getInteger("id"), set.getString("value", "icon.noimage"));
  33.         }));
  34.     }
  35.    
  36.     public final String getIcon(int itemId)
  37.     {
  38.         return _icons.get(itemId);
  39.     }
  40.    
  41.     public static IconData getInstance()
  42.     {
  43.         return SingletonHolder.INSTANCE;
  44.     }
  45.    
  46.     private static class SingletonHolder
  47.     {
  48.         protected static final IconData INSTANCE = new IconData();
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement