## nga.util
クラス ClassDictionary

    java.lang.Object
      nga.util.ClassDictionary

    public class ClassDictionary

extends Object

クラス辞書。

コンストラクタの概要
`ClassDictionary()` ClassDictionary を作成する。
`ClassDictionary(Properties props)` ClassDictionary を作成する。
`ClassDictionary(String path)` ClassDictionary を作成する。

メソッドの概要

`

`<T> Class<? extends T>`

`

`getClassImplements(Class<T> c)`
指定した抽象クラスを実装しているクラスを取得する。

`static ClassDictionary` `getDefaultInstance()` ClassDictionary のデフォルトインスタンスを取得する。

`

`<T> T`

`

`getSingleInstance(Class<T> cls)`
指定したクラスのインスタンスを取得する。

`

`<T> T`

`

`newInstance(Class<T> cls)`
指定したクラスのインスタンスを作成する。

`

`<T> void`

`

`setClassImplements(Class<T> a, Class<? extends T> b)`
指定したクラスを実装しているクラスを登録する。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### ClassDictionary

    public ClassDictionary()

  ClassDictionary を作成する。

### ClassDictionary

    public ClassDictionary(Properties props)
                    throws ClassNotFoundException

  ClassDictionary を作成する。

  パラメータ:
    `props` - クラス定義。
  例外:
    `ClassNotFoundException`

### ClassDictionary

    public ClassDictionary(String path)
                    throws ClassNotFoundException,
                           IOException

  ClassDictionary を作成する。

  パラメータ:
    `path` - クラス定義ファイルのパス。
  例外:
    `ClassNotFoundException`
    `IOException`

メソッドの詳細

### getDefaultInstance

    public static ClassDictionary getDefaultInstance()

  ClassDictionary のデフォルトインスタンスを取得する。

### newInstance

    public <T> T newInstance(Class<T> cls)

  指定したクラスのインスタンスを作成する。

  パラメータ:
    `cls` - インスタンスを作成するクラス。
  戻り値:
    作成したインスタンス。

### getSingleInstance

    public <T> T getSingleInstance(Class<T> cls)

  指定したクラスのインスタンスを取得する。 このメソッドで作成されたインスタンスが既にある場合は， 作成済みのインスタンスを返す。

  パラメータ:
    `cls` - インスタンスを取得するクラス。
  戻り値:
    取得したインスタンス。

### setClassImplements

    public <T> void setClassImplements(Class<T> a,
                                       Class<? extends T> b)

  指定したクラスを実装しているクラスを登録する。

  パラメータ:
    `a` - 実装されるクラス。
    `b` - a を実装するクラス。

### getClassImplements

    public <T> Class<? extends T> getClassImplements(Class<T> c)

  指定した抽象クラスを実装しているクラスを取得する。
  ここで指定するクラスは，あらかじめ setClassImplements メソッドで指定しておく必要がある。

  パラメータ:
    `c` - 実装されるクラス。
  戻り値:
    実装するクラス。クラスが見つからなかった場合は null。