package charactermanaj.model.io;\r
\r
-import static charactermanaj.util.XMLUtilities.getChildElements;\r
-import static charactermanaj.util.XMLUtilities.getElementText;\r
-import static charactermanaj.util.XMLUtilities.getFirstChildElement;\r
-import static charactermanaj.util.XMLUtilities.getLocalizedElementText;\r
+import static charactermanaj.util.XMLUtilities.*;\r
\r
import java.awt.Color;\r
import java.awt.Dimension;\r
import java.net.URI;\r
import java.net.URL;\r
import java.util.ArrayList;\r
-import java.util.HashMap;\r
+import java.util.LinkedHashMap;\r
import java.util.List;\r
import java.util.Locale;\r
import java.util.Map;\r
\r
/**\r
* キャラクターデータを格納したXMLを読み込むためのクラス.\r
- * \r
+ *\r
* @author seraphy\r
*/\r
public class CharacterDataXMLReader {\r
\r
/**\r
* キャラクター定義(プロファイル)をロードする.\r
- * \r
+ *\r
* @param docBase\r
* 対象xml\r
* @return キャラクターデータ\r
* docbaseはXMLファイルの位置を示すものであり、XMLデータ中には含まれず、キャラクターデータのロード時にセットされる.<br>\r
* そのため引数としてdocbaseを引き渡す.<br>\r
* 読み取りは現在のデフォルトロケールで行われる.<br>\r
- * \r
+ *\r
* @param is\r
* 入力ストリーム\r
* @param docBase\r
* そのため引数としてdocbaseを引き渡す.<br>\r
* 設定ファイル中の表示文字列にロケール指定がある場合、引数に指定したロケールに合致する言語の情報を取得する.<br>\r
* 合致するものがなければ最初のものを使用する.<br>\r
- * \r
+ *\r
* @param is\r
* 入力ストリーム\r
* @param docBase\r
\r
/**\r
* 入力ストリームからパーツセット定義(Favorites.xml)を読み込んで、 characterDataに追加登録する.<br>\r
- * \r
+ *\r
* @param characterData\r
* お気に入りを登録されるキャラクターデータ\r
* @param inpstm\r
\r
/**\r
* CharacterDataのプリセットまたはFavoritesのパーツセットのXMLからパーツセットを読み取って登録する.<br>\r
- * \r
+ *\r
* @param characterData\r
* キャラクターデータ\r
* @param nodePartssets\r
\r
/**\r
* CharacterDataのプリセットまたはFavoritesのパーツセットのXMLからパーツセットを読み取って登録する.<br>\r
- * \r
+ *\r
* @param nodePartssets\r
* パーツセットのノード、プリセットまたはパーツセットノード\r
* @param lang\r
\r
/**\r
* CharacterDataのプリセットまたはFavoritesのパーツセットのXMLからパーツセットを読み取る.<br>\r
- * \r
+ *\r
* @param nodePartssets\r
* パーツセットのノード、プリセットまたはパーツセットノード\r
* @param lang\r
Map<String, List<IndependentPartsColorInfo>> categoryPartsMap = partsMap\r
.get(categoryId);\r
if (categoryPartsMap == null) {\r
- categoryPartsMap = new HashMap<String, List<IndependentPartsColorInfo>>();\r
+ // ※ パーツの出現順を維持する必要があるためLinkedHashMapを用いる\r
+ categoryPartsMap = new LinkedHashMap<String, List<IndependentPartsColorInfo>>();\r
partsMap.put(categoryId, categoryPartsMap);\r
}\r
\r
* パーツごとのカラー情報のXMLを読み込んで返す.<br>\r
* パーツは複数のレイヤーから構成されるので、複数レイヤーのカラー情報のリストとして返される.<br>\r
* (パーツは複数レイヤーをまとめる1つのカテゴリになるので、カテゴリ単位の情報となる.)<br>\r
- * \r
+ *\r
* @param colorElm\r
* カラーのXML要素\r
* @return 素のカラー情報\r