OSDN Git Service

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