shohaku.core.util
クラス XResourceBundle

java.lang.Object
  拡張shohaku.core.util.XResourceBundle
直系の既知のサブクラス:
CELResourceBundle

public abstract class XResourceBundle
extends java.lang.Object

拡張可能な階層化リソースバンドルの抽象実装を提供します。
この拡張可能なリソースバンドルはjava.util.ResourceBundle同様に地域対応に主眼を置きますが、その用途に制限を持ちません。
論理的には階層化されたリソースは全て実装の対象とすることが出来ます。

リソースを定義するファイル形式にはXResourceBundleCreaterで実装出来る任意の形式を利用できます。
階層化されたリソースをキャッシュし束ねるには XResourceBundleCacheを使用します。
またリソースを束ね階層化する基準とファイル名の規約には XResourceBundleBaseCalculator の実装として任意に定義出来ます。
そのためjava.util.ResourceBundleに於けるjava.util.Localeのファイル名規約のと同等のファイル接尾辞を設計し、
それを示すクラスを定義する事で、容易に独自基準で階層化されたリソースバンドルを構築出来ます。

参照実装として、CELResourceBundle を参照してください。

関連項目:
CELResourceBundle

フィールドの概要
protected  java.lang.Object bundleBase
          束縛基準を格納します。
protected  java.util.Set lookupKeys
          リソースキーを格納します。
protected  java.util.Map lookupMap
          リソースを格納します。
protected  XResourceBundle parent
          親バンドルを格納します。
 
コンストラクタの概要
protected XResourceBundle(XResourceBundle parent, java.lang.Object bundleBase, java.util.Map resources)
          リソースリストを初期化します。
 
メソッドの概要
 boolean containsKey(java.lang.String key)
          指定されたキーがリソースセットに含まれている場合にtrueを返却します。
 boolean containsKey(java.lang.String key, java.lang.Class type)
          指定されたキーがリソースセットに含まれていると同時に、値が指定されたクラスとキャスト可能な関係に有る場合にtrueを返却します。
protected  java.lang.Object getBundleBase()
          束縛基準を返却します。
 java.lang.Object getObject(java.lang.String key)
          リソースキーが示す値を返却します。
 java.lang.Object getObject(java.lang.String key, java.lang.Object defaultValue)
          指定された文字列型のキーが示す値を返却します。
 java.util.Iterator keyIterator()
          このバンドルと上位階層の全てのリソースキーの反復子を返却します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

lookupMap

protected final java.util.Map lookupMap
リソースを格納します。


lookupKeys

protected final java.util.Set lookupKeys
リソースキーを格納します。


parent

protected final XResourceBundle parent
親バンドルを格納します。


bundleBase

protected final java.lang.Object bundleBase
束縛基準を格納します。

コンストラクタの詳細

XResourceBundle

protected XResourceBundle(XResourceBundle parent,
                          java.lang.Object bundleBase,
                          java.util.Map resources)
リソースリストを初期化します。

パラメータ:
parent - 親バンドル
bundleBase - 束縛基準
resources - リソース
メソッドの詳細

getBundleBase

protected java.lang.Object getBundleBase()
束縛基準を返却します。

戻り値:
束縛基準

keyIterator

public java.util.Iterator keyIterator()
このバンドルと上位階層の全てのリソースキーの反復子を返却します。
この反復子は削除不可です。

戻り値:
このバンドルと上位階層の全てのリソースキーの反復子

getObject

public java.lang.Object getObject(java.lang.String key)
リソースキーが示す値を返却します。指定されたキーが存在しない場合nullを返却します。

パラメータ:
key - リソースキー
戻り値:
リソースキーが示す値
例外:
java.lang.NullPointerException - keynullの場合

getObject

public java.lang.Object getObject(java.lang.String key,
                                  java.lang.Object defaultValue)
指定された文字列型のキーが示す値を返却します。
指定されたキーが存在しない場合defaultValueを返却します。

パラメータ:
key - リソースキー
defaultValue - リソースキー
戻り値:
リソースキーが示す値
例外:
java.lang.NullPointerException - keynullの場合

containsKey

public boolean containsKey(java.lang.String key)
指定されたキーがリソースセットに含まれている場合にtrueを返却します。
親の拡張リソースバンドルも検索対象とします。

パラメータ:
key - リソースキー
戻り値:
指定されたキーが含まれている場合 true
例外:
java.lang.NullPointerException - keynullの場合

containsKey

public boolean containsKey(java.lang.String key,
                           java.lang.Class type)
指定されたキーがリソースセットに含まれていると同時に、値が指定されたクラスとキャスト可能な関係に有る場合にtrueを返却します。
親の拡張リソースバンドルも検索対象とします。値がnullの場合キャスト可能trueを返却します。

パラメータ:
key - リソースキー
type - キャスト可能な関係に有るか検証するクラス
戻り値:
指定されたキーが含まれている場合 true
例外:
java.lang.NullPointerException - keytypenullの場合