OSDN Git Service

本番スキーマ移行
[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      * <p>読み込み時のスキーマ判別は自動。
30      * <p>書き込み時のスキーマは最新。
31      */
32     XML_AUTO,
33
34     /**
35      * スキーマ
36      * http://mikutoga.sourceforge.jp/xml/xsd/vmdxml-110820.xsd
37      * で定義されたXMLファイル。
38      */
39     XML_110820,
40
41     /**
42      * スキーマ
43      * http://mikutoga.sourceforge.jp/xml/xsd/vmdxml-130609.xsd
44      * で定義されたXMLファイル。
45      * MikuMikuDance Ver7.40対応。
46      */
47     XML_130609,
48
49     ;
50
51
52     /**
53      * コンストラクタ。
54      */
55     private MotionFileType(){
56         return;
57     }
58
59
60     /**
61      * ファイル種別をXMLファイル種別に変換する。
62      * <p>未定義の場合はXML_AUTOを返す。
63      * @return XMLファイル種別
64      */
65     public XmlMotionFileType toXmlType(){
66         XmlMotionFileType result;
67
68         switch(this){
69         case XML_110820:
70             result = XmlMotionFileType.XML_110820;
71             break;
72         case XML_130609:
73             result = XmlMotionFileType.XML_130609;
74             break;
75         case XML_AUTO:
76             result = XmlMotionFileType.XML_AUTO;
77             break;
78         default:
79             result = XmlMotionFileType.XML_AUTO;
80             break;
81         }
82
83         return result;
84     }
85
86     /**
87      * ファイル種別がXMLか判定する。
88      * @return XMLならtrue
89      */
90     public boolean isXml(){
91         switch(this){
92         case XML_AUTO:
93         case XML_110820:
94         case XML_130609:
95             return true;
96         default:
97             break;
98         }
99
100         return false;
101     }
102
103     /**
104      * ファイル種別がVMDか判定する。
105      * @return VMDならtrue
106      */
107     public boolean isVmd(){
108         if(this == VMD) return true;
109         return false;
110     }
111
112 }