概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## 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` - `key`が`null`の場合

### getObject

    public java.lang.Object getObject(java.lang.String key,
                                      java.lang.Object defaultValue)

  指定された文字列型のキーが示す値を返却します。
  指定されたキーが存在しない場合`defaultValue`を返却します。

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

### containsKey

    public boolean containsKey(java.lang.String key)

  指定されたキーがリソースセットに含まれている場合に`true`を返却します。
  親の拡張リソースバンドルも検索対象とします。

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

### containsKey

    public boolean containsKey(java.lang.String key,
                               java.lang.Class type)

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

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

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド