X-Git-Url: http://git.osdn.net/view?p=mikutoga%2FPmd2XML.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fjp%2Fsfjp%2Fmikutoga%2Fpmd%2Fmodel%2FToonMap.java;h=a7a29e07096c59bf2fefcd0ebe8e17678c1734a8;hp=37f928a3877dafcecb64cde6e0817c767ee34c03;hb=9b83b2ab88046245489726207bf9fe2dd5db4453;hpb=b12782f3ce4b78faa618062b553cca3db556b406 diff --git a/src/main/java/jp/sfjp/mikutoga/pmd/model/ToonMap.java b/src/main/java/jp/sfjp/mikutoga/pmd/model/ToonMap.java index 37f928a..a7a29e0 100644 --- a/src/main/java/jp/sfjp/mikutoga/pmd/model/ToonMap.java +++ b/src/main/java/jp/sfjp/mikutoga/pmd/model/ToonMap.java @@ -25,32 +25,41 @@ import java.util.TreeMap; */ public class ToonMap { + /** カスタムトゥーンファイルの総数。 */ public static final int MAX_CUSTOM_TOON = 10; + private static final Map DEF_TOONMAP; + private static final int IDX_SP = 0xff; // 特殊トゥーンのインデックス + static{ Map map = new TreeMap(); - map.put(0x00, "toon01.bmp"); - map.put(0x01, "toon02.bmp"); - map.put(0x02, "toon03.bmp"); - map.put(0x03, "toon04.bmp"); - map.put(0x04, "toon05.bmp"); - map.put(0x05, "toon06.bmp"); - map.put(0x06, "toon07.bmp"); - map.put(0x07, "toon08.bmp"); - map.put(0x08, "toon09.bmp"); - map.put(0x09, "toon10.bmp"); - map.put(0xff, "toon0.bmp"); + int idx = 0x00; + map.put(idx++, "toon01.bmp"); + map.put(idx++, "toon02.bmp"); + map.put(idx++, "toon03.bmp"); + map.put(idx++, "toon04.bmp"); + map.put(idx++, "toon05.bmp"); + map.put(idx++, "toon06.bmp"); + map.put(idx++, "toon07.bmp"); + map.put(idx++, "toon08.bmp"); + map.put(idx++, "toon09.bmp"); + map.put(idx++, "toon10.bmp"); + map.put(IDX_SP, "toon0.bmp"); + + assert idx == MAX_CUSTOM_TOON; DEF_TOONMAP = Collections.unmodifiableMap(map); assert DEF_TOONMAP.size() == MAX_CUSTOM_TOON + 1; } - private final Map toonMap = + + private final Map toonDefMap = new TreeMap(DEF_TOONMAP); + /** * コンストラクタ。 */ @@ -59,13 +68,14 @@ public class ToonMap { return; } + /** * 指定したインデックス値に対応したトゥーンファイル名を返す。 * @param idx インデックス値 * @return トゥーンファイル名。該当するものがなければnull */ public String getIndexedToon(int idx){ - String result = this.toonMap.get(idx); + String result = this.toonDefMap.get(idx); return result; } @@ -78,7 +88,7 @@ public class ToonMap { public void setIndexedToon(int idx, String toonFileName) throws NullPointerException{ if(toonFileName == null) throw new NullPointerException(); - this.toonMap.put(idx, toonFileName); + this.toonDefMap.put(idx, toonFileName); return; } @@ -88,7 +98,7 @@ public class ToonMap { * @return 等しければtrue */ public boolean isDefaultMap(){ - boolean result = this.toonMap.equals(DEF_TOONMAP); + boolean result = this.toonDefMap.equals(DEF_TOONMAP); return result; } @@ -98,7 +108,7 @@ public class ToonMap { * @return デフォルトと等しければtrue。 */ public boolean isDefaultToon(int idx){ - String thisToon = this.toonMap.get(idx); + String thisToon = this.toonDefMap.get(idx); if(thisToon == null) return false; String defToon = DEF_TOONMAP.get(idx); @@ -112,8 +122,8 @@ public class ToonMap { * このトゥーンファイル構成をデフォルト構成内容でリセットする。 */ public void resetDefaultMap(){ - this.toonMap.clear(); - this.toonMap.putAll(DEF_TOONMAP); + this.toonDefMap.clear(); + this.toonDefMap.putAll(DEF_TOONMAP); return; } @@ -124,7 +134,7 @@ public class ToonMap { */ public void resetIndexedToon(int idx){ String toonFile = DEF_TOONMAP.get(idx); - this.toonMap.put(idx, toonFile); + this.toonDefMap.put(idx, toonFile); return; } @@ -137,7 +147,7 @@ public class ToonMap { StringBuilder result = new StringBuilder(); boolean dumped = false; - for(Map.Entry entry : this.toonMap.entrySet()){ + for(Map.Entry entry : this.toonDefMap.entrySet()){ Integer idx = entry.getKey(); String toonFile = entry.getValue();