jp.terasoluna.fw.message
クラス MessageManager

java.lang.Object
  上位を拡張 jp.terasoluna.fw.message.MessageManager

public class MessageManager
extends Object

メッセージ管理クラス


フィールドの概要
protected  List<String> basenames
          メッセージプロパティファイルのベースネームリスト
protected static String DEFAULT_MESSAGE_BASE_NAME_KEY
          メッセージプロパティファイルベースネームのキーのデフォルト値
protected static String DEFAULT_MESSAGE_FORMATTER_FQCN_KEY
          メッセージフォーマッタのFQCNを指定するキーのデフォルト値
protected static String DEFAULT_MESSAGE_ID_FORMAT_KEY
          メッセージIDのフォーマットのキーのデフォルト値
protected static String DEFAULT_THROW_IF_RESOURCE_NOT_FOUND_KEY
          メッセージIDが見つからなかった場合に例外をスローするか否かのキーのデフォルト値
protected  MessageFormatter messageFormatter
          メッセージフォーマッタ
protected  String messageIdFormat
          メッセージIDのフォーマット
protected  boolean throwIfResourceNotFound
          メッセージIDが見つからなかった場合に例外をスローするか否か
 
コンストラクタの概要
MessageManager(String configFile)
          コンストラクタ メッセージIDのフォーマットのキー、メッセージプロパティファイルベースネームのキー、 メッセージIDが見つからなかった場合に例外をスローするか否かのキー、メッセージフォーマッタのFQCNを指定するキーはデフォルト値を設定し、 MessageManager(String, String, String, String, String) を呼び出します。
MessageManager(String configFile, String messageIdFormatKey, String messageBaseNameKey, String throwIfResourceNotFoundKey, String messageFormatterFqcnKey)
          コンストラクタ クラスローダからプロパティファイルを取得し、新しいメッセージマネージャーを構築します。
 
メソッドの概要
protected static ClassLoader getClassLoader()
          クラスローダを返却します。
 String getMessage(boolean resource, String messageIdOrPattern, Locale locale, Object... args)
          メッセージを返却します。
 String getMessage(boolean resource, String messageIdOrPattern, Object... args)
          メッセージを返却します。
protected  String getMessagePattern(String messageId, Locale locale)
          メッセージパターンを返却します。
protected  ResourceBundle getResourceBundle(String basename, Locale locale)
          メッセージプロパティファイル内のベースネームに対応したリソースバンドルを返却します。
protected  String getStringOrNull(ResourceBundle bundle, String key)
          プロパティファイルに存在する、メッセージIDに対応したメッセージを返却します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

basenames

protected final List<String> basenames
メッセージプロパティファイルのベースネームリスト


messageIdFormat

protected String messageIdFormat
メッセージIDのフォーマット


throwIfResourceNotFound

protected boolean throwIfResourceNotFound
メッセージIDが見つからなかった場合に例外をスローするか否か


messageFormatter

protected final MessageFormatter messageFormatter
メッセージフォーマッタ


DEFAULT_MESSAGE_ID_FORMAT_KEY

protected static final String DEFAULT_MESSAGE_ID_FORMAT_KEY
メッセージIDのフォーマットのキーのデフォルト値

関連項目:
定数フィールド値

DEFAULT_MESSAGE_BASE_NAME_KEY

protected static final String DEFAULT_MESSAGE_BASE_NAME_KEY
メッセージプロパティファイルベースネームのキーのデフォルト値

関連項目:
定数フィールド値

DEFAULT_THROW_IF_RESOURCE_NOT_FOUND_KEY

protected static final String DEFAULT_THROW_IF_RESOURCE_NOT_FOUND_KEY
メッセージIDが見つからなかった場合に例外をスローするか否かのキーのデフォルト値

関連項目:
定数フィールド値

DEFAULT_MESSAGE_FORMATTER_FQCN_KEY

protected static final String DEFAULT_MESSAGE_FORMATTER_FQCN_KEY
メッセージフォーマッタのFQCNを指定するキーのデフォルト値

関連項目:
定数フィールド値
コンストラクタの詳細

MessageManager

public MessageManager(String configFile)
コンストラクタ

メッセージIDのフォーマットのキー、メッセージプロパティファイルベースネームのキー、 メッセージIDが見つからなかった場合に例外をスローするか否かのキー、メッセージフォーマッタのFQCNを指定するキーはデフォルト値を設定し、 MessageManager(String, String, String, String, String) を呼び出します。

パラメータ:
configFile - 設定ファイルパス(クラスローダ相対)
関連項目:
MessageManager#MessageManager(String, String, String, String)

MessageManager

public MessageManager(String configFile,
                      String messageIdFormatKey,
                      String messageBaseNameKey,
                      String throwIfResourceNotFoundKey,
                      String messageFormatterFqcnKey)
コンストラクタ クラスローダからプロパティファイルを取得し、新しいメッセージマネージャーを構築します。

引数で取得した設定ファイルパスに該当するプロパティファイルを取得します。
プロパティファイル取得の際は以下の項目を合わせて設定します。
(設定値がない場合は、デフォルト値を使用します。)
・メッセージIDのフォーマットのキー
・メッセージプロパティファイルのベースネームのキー
・メッセージID不明時の例外スロー有無
・メッセージフォーマッタのFQCN
プロパティファイルから得たメッセージIDのフォーマット、例外スローフラグはメンバ変数に格納します。
メッセージベースネームはクラスローダから取得できるものを全て追加し、文字列のリストのメンバ変数に格納します。

パラメータ:
configFile - 設定ファイルパス(クラスローダ相対)
messageIdFormatKey - メッセージIDのフォーマットのキー
messageBaseNameKey - メッセージプロパティファイルベースネームのキー
throwIfResourceNotFoundKey - メッセージIDが見つからなかった場合に例外をスローするか否かのキー
messageFormatterFqcnKey - メッセージフォーマッタのFQCNを指定するキー
メソッドの詳細

getClassLoader

protected static ClassLoader getClassLoader()
クラスローダを返却します。

呼び出されたスレッドにコンテキスト・クラスローダが設定されている場合はそのコンテキスト・クラスローダを返却します。
そうでない場合はこのクラスをロードしたクラスローダを返却します。

戻り値:
クラスローダ

getResourceBundle

protected ResourceBundle getResourceBundle(String basename,
                                           Locale locale)
メッセージプロパティファイル内のベースネームに対応したリソースバンドルを返却します。 引数のロケールがnullの場合は、デフォルトのロケースを使用します。 引数のベースネームに対応するリソースが存在しない場合は、例外スローフラグが正の場合に限り、ベースネームを文字出力します。 ベースネームの文字出力と同時にMessageRuntimeExceptionをスローします。 例外スローフラグが負の場合は、null値を設定したリソースバンドルを返却します。

パラメータ:
basename - メッセージプロパティファイルのベースネーム
locale - ロケール
戻り値:
リソースバンドル

getStringOrNull

protected String getStringOrNull(ResourceBundle bundle,
                                 String key)
プロパティファイルに存在する、メッセージIDに対応したメッセージを返却します。
bundlefalseの場合
null値を返却します。
keyfalseの場合
null値を返却します。

引数のリソースバンドルに対して、引数のメッセージIDに対応するメッセージを取得します。 メッセージIDに対応するメッセージが存在しない場合は、例外スローフラグが正の場合に限り、取得できなかったメッセージID名を文字出力します。 メッセージID名の文字出力と同時にMessageRuntimeExceptionをスローします。 例外スローフラグが負の場合は、null値を返却します。

パラメータ:
bundle - リソースバンドル
key - メッセージID
戻り値:
メッセージIDにより取得するメッセージ

getMessagePattern

protected String getMessagePattern(String messageId,
                                   Locale locale)
メッセージパターンを返却します。

パラメータ:
messageId - メッセージID
locale - メッセージのロケール
戻り値:
メッセージIDに対するメッセージパターン

getMessage

public String getMessage(boolean resource,
                         String messageIdOrPattern,
                         Object... args)
                  throws MessageRuntimeException
メッセージを返却します。 ロケールにnull値を設定し、 getMessage(boolean, String, Locale, Object...) を呼び出します。 ロケールにはデフォルト値が使用されます。

パラメータ:
resource - リソースの有無
messageIdOrPattern - メッセージID(リソース有の場合) / メッセージパターン(リソース無の場合)
args - 置換パラメータ
戻り値:
メッセージ
例外:
MessageRuntimeException - 不正なパターンを指定した場合

getMessage

public String getMessage(boolean resource,
                         String messageIdOrPattern,
                         Locale locale,
                         Object... args)
                  throws MessageRuntimeException
メッセージを返却します。
resourcetrueの場合
メッセージIDに対するメッセージパターンをメッセージプロパティファイルベースネームリスト対応する各プロパティファイルから探索します。
最初に見つかったメッセージパターンに置換パラメータを埋め込んだメッセージを返却します。パターンは MessageFormat の形式にしてください。不正なパターンを指定した場合、MessageRuntimeExceptionをスローします
ベースネームに対応したプロパティファイルは指定したロケールで取得します。ロケールにnullを設定した場合は Locale.getDefault()が使用されます。
resourcefalseの場合
メッセージパターン(messageIdOrPattern)に置換パラメータを埋め込んだメッセージを返却します。パターンは MessageFormatの形式にしてください。不正なパターンを指定した場合、 MessageRuntimeExceptionをスローします。

パラメータ:
resource - リソースの有無
messageIdOrPattern - メッセージID(リソース有の場合) / メッセージパターン(リソース無の場合)
locale - ロケール
args - 置換パラメータ
戻り値:
メッセージ
例外:
MessageRuntimeException - 不正なパターンを指定した場合


Copyright © 2011. All Rights Reserved.