Dxoで列挙つづき
列挙から文字列の変換、列挙のtoString()をオーバーライドしたらアノテーション無しで変換かかりました。
public enum SendFlag { NOT_SEND("N"), SENDING("S"), SENT("E"); private String value; SendFlag(String value){ this.value = value; } // 追加 public Stirng toString(){ return value; } (省略) }
name()はfinalなのでオーバーライドできないのね。これが出来れば文字列から列挙も区分の値でもってvalueOf()で取ってこれそうだったんだけど。
toStringにはなるたけ手を付けたくない気もするんだけど、トレースとか見た場合に列挙の名前がわかって"N"とか表示されてれば、デバグには困らないかなあと。自前で作ったgetValue()の存在意義が無くなって来たなあ。
でもOGNLで hogeFlag.value と書けた方がいいし、まあいいか。