/** * @version $Id: QuantifierType.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $ * * 2011/10/20 17:37:29 * @author kyohei-miyazato * * Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved. */ package com.tida_okinawa.corona.correction.parsing.model; /** * * @author kyohei-miyazato */ public enum QuantifierType { /* TODO QUANT_ANYはβで対応? */ /** * 0..1 */ QUANT_ONE("0..1", 1), // QUANT_ANY("1..*",2), /** * なし */ QUANT_NONE("なし", -1); private static final QuantifierType[] ARRAY = { QUANT_NONE, QUANT_ONE }; private int intValue; private String name; private QuantifierType(String name, final int anIntValue) { this.name = name; this.intValue = anIntValue; } public int getIntValue() { return intValue; } /** * 整数からenum定数へ変換<br /> * {@link #NONE}のintValueは-1だが、anIntValueに0を指定した時も、 {@link #NONE}が返る<br /> * intValueと一致しない場合も{@link #NONE}を返す * * @param anIntValue * @return */ public static QuantifierType valueOf(final int anIntValue) { if ((anIntValue > 0) && (anIntValue < ARRAY.length)) { return ARRAY[anIntValue]; } return QUANT_NONE; } /** * 名称からenum定数へ変換 * * @param name * @return */ public static QuantifierType valueOfName(String name) { for (QuantifierType d : values()) { if (d.name.equals(name)) { return d; } } return QUANT_NONE; } /** * 名称取得 * * @return */ public String getName() { return name; } }