OSDN Git Service

Merge release/v2.103.2
[mikutoga/Vmd2XML.git] / src / main / java / jp / sfjp / mikutoga / vmd2xml / MotionFileType.java
1 /*
2  * MMD motion file types.
3  *
4  * License : The MIT License
5  * Copyright(c) 2013 MikuToga Partners
6  */
7
8 package jp.sfjp.mikutoga.vmd2xml;
9
10 import jp.sfjp.mikutoga.vmd.model.xml.XmlMotionFileType;
11
12 /**
13  * モーションファイル種別。
14  */
15 public enum MotionFileType {
16
17     /**
18      * 不明。
19      */
20     NONE,
21
22     /**
23      * MikuMikuDance ver7 前後で読み書きが可能なVMDファイル。
24      */
25     VMD,
26
27     /**
28      * XMLファイル(自動判別)。
29      *
30      * <p>読み込み時のスキーマ判別は自動。
31      *
32      * <p>書き込み時のスキーマは最新。
33      */
34     XML_AUTO,
35
36     /**
37      * スキーマ
38      * http://mikutoga.sourceforge.jp/xml/xsd/vmdxml-110820.xsd
39      * で定義されたXMLファイル。
40      */
41     XML_110820,
42
43     /**
44      * スキーマ
45      * http://mikutoga.sourceforge.jp/xml/xsd/vmdxml-130609.xsd
46      * で定義されたXMLファイル。
47      * MikuMikuDance Ver7.40対応。
48      */
49     XML_130609,
50
51     ;
52
53
54     /**
55      * コンストラクタ。
56      */
57     MotionFileType(){
58         return;
59     }
60
61
62     /**
63      * ファイル種別をXMLファイル種別に変換する。
64      *
65      * <p>未定義の場合はXML_AUTOを返す。
66      *
67      * @return XMLファイル種別
68      */
69     public XmlMotionFileType toXmlType(){
70         XmlMotionFileType result;
71
72         switch(this){
73         case XML_110820:
74             result = XmlMotionFileType.XML_110820;
75             break;
76         case XML_130609:
77             result = XmlMotionFileType.XML_130609;
78             break;
79         case XML_AUTO:
80             result = XmlMotionFileType.XML_AUTO;
81             break;
82         default:
83             result = XmlMotionFileType.XML_AUTO;
84             break;
85         }
86
87         return result;
88     }
89
90     /**
91      * ファイル種別がXMLか判定する。
92      *
93      * @return XMLならtrue
94      */
95     public boolean isXml(){
96         switch(this){
97         case XML_AUTO:
98         case XML_110820:
99         case XML_130609:
100             return true;
101         default:
102             break;
103         }
104
105         return false;
106     }
107
108     /**
109      * ファイル種別がVMDか判定する。
110      *
111      * @return VMDならtrue
112      */
113     public boolean isVmd(){
114         if(this == VMD) return true;
115         return false;
116     }
117
118 }