OSDN Git Service

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