OSDN Git Service

[no commit message]
[mikutoga/TogaGem.git] / src / main / java / jp / sourceforge / mikutoga / pmd / pmdexporter / PmdExporterExt1.java
index 73b1919..b8a1d90 100644 (file)
-/*\r
- * model exporter for pmd-file(Ext1)\r
- *\r
- * License : The MIT License\r
- * Copyright(c) 2010 MikuToga Partners\r
- */\r
-\r
-package jp.sourceforge.mikutoga.pmd.pmdexporter;\r
-\r
-import java.io.IOException;\r
-import java.io.OutputStream;\r
-import java.util.List;\r
-import java.util.Map;\r
-import jp.sourceforge.mikutoga.parser.pmd.PmdLimits;\r
-import jp.sourceforge.mikutoga.pmd.BoneGroup;\r
-import jp.sourceforge.mikutoga.pmd.BoneInfo;\r
-import jp.sourceforge.mikutoga.pmd.MorphPart;\r
-import jp.sourceforge.mikutoga.pmd.MorphType;\r
-import jp.sourceforge.mikutoga.pmd.PmdModel;\r
-\r
-/**\r
- * PMDファイルのエクスポーター(拡張1:英名対応)。\r
- * <p>\r
- * 任意のトゥーンファイル名対応以降のPMDファイルフォーマットを\r
- * 使いたくない場合はこのエクスポーターを用いて出力せよ。\r
- */\r
-public class PmdExporterExt1 extends PmdExporterBase{\r
-\r
-    /**\r
-     * コンストラクタ。\r
-     * @param stream 出力ストリーム\r
-     * @throws NullPointerException 引数がnull\r
-     */\r
-    public PmdExporterExt1(OutputStream stream)\r
-            throws NullPointerException{\r
-        super(stream);\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * {@inheritDoc}\r
-     * @param model {@inheritDoc}\r
-     * @throws IOException {@inheritDoc}\r
-     * @throws IllegalPmdException {@inheritDoc}\r
-     */\r
-    @Override\r
-    public void dumpPmdModel(PmdModel model)\r
-            throws IOException, IllegalPmdException{\r
-        super.dumpPmdModel(model);\r
-\r
-        dumpGlobalInfo(model);\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * 英語名情報を出力する。\r
-     * @param model モデルデータ\r
-     * @throws IOException 出力エラー\r
-     * @throws IllegalPmdTextException 文字列が長すぎる。\r
-     */\r
-    private void dumpGlobalInfo(PmdModel model)\r
-            throws IOException, IllegalPmdTextException{\r
-        boolean hasGlobal = model.hasGlobalText();\r
-        byte globalFlag;\r
-        if(hasGlobal) globalFlag = 0x01;\r
-        else          globalFlag = 0x00;\r
-        dumpByte(globalFlag);\r
-\r
-        if(hasGlobal){\r
-            dumpBasicGlobal(model);\r
-            dumpBoneGlobal(model);\r
-            dumpMorphGlobal(model);\r
-            dumpBoneGroupGlobal(model);\r
-        }\r
-\r
-        flush();\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * モデル基本情報を英語で出力する。\r
-     * @param model モデルデータ\r
-     * @throws IOException 出力エラー\r
-     * @throws IllegalPmdTextException 文字列が長すぎる。\r
-     */\r
-    private void dumpBasicGlobal(PmdModel model)\r
-            throws IOException, IllegalPmdTextException{\r
-        String modelName = model.getModelName().getGlobalText();\r
-        if(modelName == null) modelName = "";\r
-        dumpText(modelName, PmdLimits.MAXBYTES_MODELNAME);\r
-\r
-        String description = model.getDescription().getGlobalText();\r
-        if(description == null) description = "";\r
-        dumpText(description, PmdLimits.MAXBYTES_MODELDESC);\r
-\r
-        flush();\r
-    }\r
-\r
-    /**\r
-     * ボーン英語名情報を出力する。\r
-     * @param model モデルデータ\r
-     * @throws IOException 出力エラー\r
-     * @throws IllegalPmdTextException 文字列が長すぎる。\r
-     */\r
-    private void dumpBoneGlobal(PmdModel model)\r
-            throws IOException, IllegalPmdTextException{\r
-        for(BoneInfo bone : model.getBoneList()){\r
-            String boneName = bone.getBoneName().getGlobalText();\r
-            if(boneName == null) boneName = "";\r
-            dumpText(boneName, PmdLimits.MAXBYTES_BONENAME);\r
-        }\r
-\r
-        flush();\r
-    }\r
-\r
-    /**\r
-     * モーフ英語名情報を出力する。\r
-     * @param model モデルデータ\r
-     * @throws IOException 出力エラー\r
-     * @throws IllegalPmdTextException 文字列が長すぎる。\r
-     */\r
-    private void dumpMorphGlobal(PmdModel model)\r
-            throws IOException, IllegalPmdTextException{\r
-        Map<MorphType, List<MorphPart>> morphMap = model.getMorphMap();\r
-\r
-        for(MorphType type : MorphType.values()){\r
-            if(type.isBase()) continue;\r
-            List<MorphPart> partList = morphMap.get(type);\r
-            if(partList == null) continue;\r
-            for(MorphPart part : partList){\r
-                String morphName = part.getMorphName().getGlobalText();\r
-                if(morphName == null) morphName = "";\r
-                dumpText(morphName, PmdLimits.MAXBYTES_MORPHNAME);\r
-            }\r
-        }\r
-\r
-        flush();\r
-    }\r
-\r
-    /**\r
-     * ボーングループ英語名情報を出力する。\r
-     * @param model モデルデータ\r
-     * @throws IOException 出力エラー\r
-     * @throws IllegalPmdTextException 文字列が長すぎる\r
-     */\r
-    private void dumpBoneGroupGlobal(PmdModel model)\r
-            throws IOException, IllegalPmdTextException{\r
-        for(BoneGroup group : model.getBoneGroupList()){\r
-            if(group.isDefaultBoneGroup()) continue;\r
-            String groupName = group.getGroupName().getGlobalText();\r
-            if(groupName == null) groupName = "";\r
-            dumpText(groupName, PmdLimits.MAXBYTES_BONEGROUPNAME);\r
-        }\r
-\r
-        flush();\r
-    }\r
-\r
-}\r
+/*
+ * model exporter for pmd-file(Ext1)
+ *
+ * License : The MIT License
+ * Copyright(c) 2010 MikuToga Partners
+ */
+
+package jp.sourceforge.mikutoga.pmd.pmdexporter;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
+import jp.sourceforge.mikutoga.pmd.MorphType;
+import jp.sourceforge.mikutoga.pmd.model.BoneGroup;
+import jp.sourceforge.mikutoga.pmd.model.BoneInfo;
+import jp.sourceforge.mikutoga.pmd.model.MorphPart;
+import jp.sourceforge.mikutoga.pmd.model.PmdModel;
+import jp.sourceforge.mikutoga.pmd.parser.PmdLimits;
+
+/**
+ * PMDファイルのエクスポーター(拡張1:英名対応)。
+ * <p>
+ * 任意のトゥーンファイル名対応以降のPMDファイルフォーマットを
+ * 使いたくない場合はこのエクスポーターを用いて出力せよ。
+ */
+public class PmdExporterExt1 extends PmdExporterBase{
+
+    /**
+     * コンストラクタ。
+     * @param stream 出力ストリーム
+     * @throws NullPointerException 引数がnull
+     */
+    public PmdExporterExt1(OutputStream stream)
+            throws NullPointerException{
+        super(stream);
+        return;
+    }
+
+    /**
+     * {@inheritDoc}
+     * @param model {@inheritDoc}
+     * @throws IOException {@inheritDoc}
+     * @throws IllegalPmdException {@inheritDoc}
+     */
+    @Override
+    public void dumpPmdModel(PmdModel model)
+            throws IOException, IllegalPmdException{
+        super.dumpPmdModel(model);
+
+        dumpGlobalInfo(model);
+
+        return;
+    }
+
+    /**
+     * 英語名情報を出力する。
+     * @param model モデルデータ
+     * @throws IOException 出力エラー
+     * @throws IllegalPmdTextException 文字列が長すぎる。
+     */
+    private void dumpGlobalInfo(PmdModel model)
+            throws IOException, IllegalPmdTextException{
+        boolean hasGlobal = model.hasGlobalText();
+        byte globalFlag;
+        if(hasGlobal) globalFlag = 0x01;
+        else          globalFlag = 0x00;
+        dumpByte(globalFlag);
+
+        if(hasGlobal){
+            dumpBasicGlobal(model);
+            dumpBoneGlobal(model);
+            dumpMorphGlobal(model);
+            dumpBoneGroupGlobal(model);
+        }
+
+        flush();
+
+        return;
+    }
+
+    /**
+     * モデル基本情報を英語で出力する。
+     * @param model モデルデータ
+     * @throws IOException 出力エラー
+     * @throws IllegalPmdTextException 文字列が長すぎる。
+     */
+    private void dumpBasicGlobal(PmdModel model)
+            throws IOException, IllegalPmdTextException{
+        String modelName = model.getModelName().getGlobalText();
+        if(modelName == null) modelName = "";
+        dumpText(modelName, PmdLimits.MAXBYTES_MODELNAME);
+
+        String description = model.getDescription().getGlobalText();
+        if(description == null) description = "";
+        dumpText(description, PmdLimits.MAXBYTES_MODELDESC);
+
+        flush();
+    }
+
+    /**
+     * ボーン英語名情報を出力する。
+     * @param model モデルデータ
+     * @throws IOException 出力エラー
+     * @throws IllegalPmdTextException 文字列が長すぎる。
+     */
+    private void dumpBoneGlobal(PmdModel model)
+            throws IOException, IllegalPmdTextException{
+        for(BoneInfo bone : model.getBoneList()){
+            String boneName = bone.getBoneName().getGlobalText();
+            if(boneName == null) boneName = "";
+            dumpText(boneName, PmdLimits.MAXBYTES_BONENAME);
+        }
+
+        flush();
+    }
+
+    /**
+     * モーフ英語名情報を出力する。
+     * @param model モデルデータ
+     * @throws IOException 出力エラー
+     * @throws IllegalPmdTextException 文字列が長すぎる。
+     */
+    private void dumpMorphGlobal(PmdModel model)
+            throws IOException, IllegalPmdTextException{
+        Map<MorphType, List<MorphPart>> morphMap = model.getMorphMap();
+
+        for(MorphType type : MorphType.values()){
+            if(type.isBase()) continue;
+            List<MorphPart> partList = morphMap.get(type);
+            if(partList == null) continue;
+            for(MorphPart part : partList){
+                String morphName = part.getMorphName().getGlobalText();
+                if(morphName == null) morphName = "";
+                dumpText(morphName, PmdLimits.MAXBYTES_MORPHNAME);
+            }
+        }
+
+        flush();
+    }
+
+    /**
+     * ボーングループ英語名情報を出力する。
+     * @param model モデルデータ
+     * @throws IOException 出力エラー
+     * @throws IllegalPmdTextException 文字列が長すぎる
+     */
+    private void dumpBoneGroupGlobal(PmdModel model)
+            throws IOException, IllegalPmdTextException{
+        for(BoneGroup group : model.getBoneGroupList()){
+            if(group.isDefaultBoneGroup()) continue;
+            String groupName = group.getGroupName().getGlobalText();
+            if(groupName == null) groupName = "";
+            dumpText(groupName, PmdLimits.MAXBYTES_BONEGROUPNAME);
+        }
+
+        flush();
+    }
+
+}