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 と書けた方がいいし、まあいいか。