OSDN Git Service

本番スキーマ移行
[mikutoga/Vmd2XML.git] / src / main / java / jp / sfjp / mikutoga / vmd2xml / MotionFileType.java
index 672ff74..d065436 100644 (file)
@@ -7,6 +7,8 @@
 
 package jp.sfjp.mikutoga.vmd2xml;
 
+import jp.sfjp.mikutoga.vmd.model.xml.XmlMotionFileType;
+
 /**
  * モーションファイル種別。
  */
@@ -23,12 +25,27 @@ public enum MotionFileType {
     VMD,
 
     /**
+     * XMLファイル(自動判別)。
+     * <p>読み込み時のスキーマ判別は自動。
+     * <p>書き込み時のスキーマは最新。
+     */
+    XML_AUTO,
+
+    /**
      * スキーマ
      * http://mikutoga.sourceforge.jp/xml/xsd/vmdxml-110820.xsd
      * で定義されたXMLファイル。
      */
     XML_110820,
 
+    /**
+     * スキーマ
+     * http://mikutoga.sourceforge.jp/xml/xsd/vmdxml-130609.xsd
+     * で定義されたXMLファイル。
+     * MikuMikuDance Ver7.40対応。
+     */
+    XML_130609,
+
     ;
 
 
@@ -39,12 +56,47 @@ public enum MotionFileType {
         return;
     }
 
+
+    /**
+     * ファイル種別をXMLファイル種別に変換する。
+     * <p>未定義の場合はXML_AUTOを返す。
+     * @return XMLファイル種別
+     */
+    public XmlMotionFileType toXmlType(){
+        XmlMotionFileType result;
+
+        switch(this){
+        case XML_110820:
+            result = XmlMotionFileType.XML_110820;
+            break;
+        case XML_130609:
+            result = XmlMotionFileType.XML_130609;
+            break;
+        case XML_AUTO:
+            result = XmlMotionFileType.XML_AUTO;
+            break;
+        default:
+            result = XmlMotionFileType.XML_AUTO;
+            break;
+        }
+
+        return result;
+    }
+
     /**
      * ファイル種別がXMLか判定する。
      * @return XMLならtrue
      */
     public boolean isXml(){
-        if(this == XML_110820) return true;
+        switch(this){
+        case XML_AUTO:
+        case XML_110820:
+        case XML_130609:
+            return true;
+        default:
+            break;
+        }
+
         return false;
     }