4 * License : The MIT License
\r
5 * Copyright(c) 2010 MikuToga Partners
\r
8 package jp.sourceforge.mikutoga.pmd;
\r
10 import java.util.Locale;
\r
11 import java.util.ResourceBundle;
\r
23 public enum MorphType {
\r
37 private static final String FAMILY_NAME =
\r
38 "jp.sourceforge.mikutoga.pmd.resources.MorphTypeName";
\r
40 private final byte encoded;
\r
44 * @param code 符号化int値
\r
46 private MorphType(int code){
\r
53 * @param code 符号化byte値
\r
55 private MorphType(byte code){
\r
56 this.encoded = code;
\r
63 * @return デコードされた列挙子。該当するものがなければnull
\r
65 public static MorphType decode(byte code){
\r
66 MorphType result = null;
\r
68 for(MorphType type : values()){
\r
69 if(type.encode() == code){
\r
82 public byte encode(){
\r
83 return this.encoded;
\r
87 * デフォルトロケールでの表示名を返す。
\r
90 public String getGuiName(){
\r
91 Locale locale = Locale.getDefault();
\r
92 return getGuiName(locale);
\r
97 * @param locale ロケール。nullならデフォルトロケールと解釈される。
\r
100 public String getGuiName(Locale locale){
\r
101 if(locale == null) return getGuiName();
\r
102 ResourceBundle rb = ResourceBundle.getBundle(FAMILY_NAME, locale);
\r
103 String key = name();
\r
104 String result = rb.getString(key);
\r
109 * モーフ種別がbaseか否か判定する。
\r
110 * @return baseならtrue
\r
112 public boolean isBase(){
\r
113 if(this == BASE) return true;
\r