org.seasar.aptina.commons.message
インタフェース EnumMessageCode


public interface EnumMessageCode

メッセージコードを定義した列挙が実装するインタフェースです.

メッセージコードを記述した列挙はそれぞれの列挙定数に 診断レベル と, ロケールごとのメッセージを持ちます. サポートするメッセージのロケールは SUPORTED_LOCALES という名前の static フィールドに Locale の配列として定義します.

 public static final Locale[] SUPORTED_LOCALES = new Locale[] { Locale.ROOT, Locale.JAPANESE };
 

SUPPORTED_LOCALES 配列には Locale.ROOT を含めるべきです. getMessageFormat(int) の引数には, SUPPORTED_LOCALES 配列のインデックスがロケールとして渡されます.

典型的な列挙の定義は次のようになります.

 public enum TestMessageCode implements EnumMessageCode {
     // 第 2 引数はルートロケールのメッセージ,第 3 引数は日本語ロケールのメッセージ
     XXXX(Kind.ERROR,   "Error",   "エラー"),
     YYYY(Kind.WARNING, "Warning", "警告"),
     ...
     ;
 
     /** サポートするロケールの配列 */
     public static final Locale[] SUPPORTED_LOCALES = new Locale[] {
             Locale.ROOT, Locale.JAPANESE };
 
     /** 診断の種類 */
     private final Kind kind;
 
     /** メッセージフォーマット */
     private final String[] messageFormats;
 
     /**
      * インスタンスを構築します.
      * 配列の要素は SUPPORTED_LOCALES 配列のロケールに対応するメッセージフォーマットです.
      * 
      * @param messageFormats
      *            メッセージフォーマットの配列
      */
     private TestMessageCode(final Kind kind, final String... messageFormats) {
         this.kind = kind;
         this.messageFormats = messageFormats;
     }
 
     /**
      * 診断の種類を返します.
      * 
      * @return 診断の種類
      */
     public Kind getKind() {
         return kind;
     }
 
     /**
      * 指定されたロケールのメッセージフォーマットを返します.
      * 
      * @param locale
      *            ロケール
      * @return 指定されたロケールのメッセージフォーマット
      */
     public String getMessageFormat(final int locale) {
         return messageFormats[locale];
     }
 }
 

作成者:
koichik

フィールドの概要
static String SUPPORTED_LOCALES_NAME
          サポートするロケールの配列を定義した定数の名前
 
メソッドの概要
 Diagnostic.Kind getKind()
          診断の種類を返します.
 String getMessageFormat(int locale)
          指定されたロケールのメッセージを返します.
 

フィールドの詳細

SUPPORTED_LOCALES_NAME

static final String SUPPORTED_LOCALES_NAME
サポートするロケールの配列を定義した定数の名前

関連項目:
定数フィールド値
メソッドの詳細

getKind

Diagnostic.Kind getKind()
診断の種類を返します.

戻り値:
診断の種類

getMessageFormat

String getMessageFormat(int locale)
指定されたロケールのメッセージを返します.

パラメータ:
locale - ロケールのインデックス
戻り値:
指定されたロケールのメッセージ


Copyright © 2009-2010 The Seasar Foundation. All Rights Reserved.