メッセージ管理などでプロパティファイルを使っていて、Javaのコード上でプロパティファイルのkeyをタイプミスしてしまったりkeyがどこで使われているか検索するのが面倒くさかったりしませんか?そんなときはEnum Propertyパターンが使えます。 プロパティファイルの場合、多言語表示のためにmessage.propertiesやmessage_ja.propertiesなどとロケールごとにファイルを作成するのが一般的だと思いますが、「Enum Propertyパターン」では、ファイルではなくEnumを作成します。たとえばこのような感じです。 public enum Message implements MessageResource { M001("Hello World"), M002("Hello {0}"); ... } public enum Message_ja implem
enum basics - しげるメモで基本的なことをおさらいしたので、私がよく使ってるenum関係のパターンをいくつか。 ステートパターンをenumで enumを使うようになってまず一番変わったのが、 private static final int SOME_STATE = 1; みたいな典型的なアンチパターンを書かなくなりました。これはステートパターンを非常に書きやすくなったためだと思います。 よくこんなコード書いてます。本当はもうちょっとロック処理とかを書かないとだめですが、ステート部分は大抵こんな感じです。 public class Lifecycle { // 初期状態はINITIALに固定 private State state = State.INITIAL; // 外側に公開する状態遷移メソッド public void start() { state = state.st
Enumの定数に書かれたアノテーションを取得しようとして、少しハマったのでメモ。 適当なアノテーション。 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface RGB { } ここでBlueに設定されたアノーテーションを取得したい。 public enum Color { Red, @RGB Blue, Yellow } こうすれば良かった。 public class EnumTest { @Test public void testEnumAnnotation() { Color color = Color.Blue; Field[] fields = color.getClass().getFields(); Annotation[] annotations = fields[c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く