kinugasa.contents.resource

## クラス DynamicStorage<T extends Nameable & Freeable & Loadable>

- java.lang.Object
- - kinugasa.contents.resource.Storage<T>
  - - kinugasa.contents.resource.DynamicStorage<T>

- 型パラメータ:
    `T` - このストレージが保存する命名可能で開放可能な型を指定します。
  すべての実装されたインタフェース:
    java.lang.Iterable<T>, Freeable, Loadable
  直系の既知のサブクラス:
    LogicManager, SoundMap, SoundStorage

      public abstract class DynamicStorage<T extends Nameable & Freeable & Loadable>
      extends Storage<T>
      implements Freeable, Loadable

  要素のロード／開放機能を追加したストレージの実装です.
  このストレージの拡張は、Freeableを実装します。Freeableの機能は、全ての要素に適用されます。 isLoadedは1つ以上の要素がロードされている場合にtrueを返します。全ての要素がロードされているかを検査するには isLoadedAllを使用します。

- - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `DynamicStorage()` 新しいストレージを作成します.
    `DynamicStorage(int initialSize)` 新しいストレージを作成します.

  - ### メソッドのサマリー

    All Methods Instance Methods Concrete Methods
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `exFree(java.lang.String... names)` 指定された名前を持つオブジェクト以外を全て開放します.
    `DynamicStorage<T>` | `free()` 全ての要素を開放します.
    `T` | `free(java.lang.String name)` 指定した名前を持つオブジェクトを、開放から取得します.
    `void` | `freeAll(java.lang.String... names)` 指定された全ての要素を開放します.
    `boolean` | `isLoaded()` 最低1つの要素がロードされているかを検査します.
    `boolean` | `isLoaded(java.lang.String name)` 指定した名前を持つオブジェクトが、ロードされているかを調べます.
    `boolean` | `isLoadedAll()` 全ての要素がロードされているかを検査します.
    `DynamicStorage<T>` | `load()` 全ての要素をロードします.
    `T` | `load(java.lang.String name)` 指定した名前を持つオブジェクトを、ロードしてから取得します.
    `void` | `loadAll(java.lang.String... names)` 指定された全ての要素をロードします.

    - ### クラスから継承されたメソッド kinugasa.contents.resource.Storage

      `add, addAll, addAll, asList, clear, contains, contains, containsAll, get, getAll, getIfContains, getProperties, isEmpty, iterator, keySet, printAll, printAll, put, putAll, putAll, remove, remove, removeAll, removeAll, removeAll, size, toString`

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### インタフェースから継承されたメソッド java.lang.Iterable

      `forEach, spliterator`

- - ### コンストラクタの詳細

    - #### DynamicStorage

          public DynamicStorage(int initialSize)

      新しいストレージを作成します.
      パラメータ:
        `initialSize` - ストレージの初期容量を指定します。

    - #### DynamicStorage

          public DynamicStorage()

      新しいストレージを作成します.

  - ### メソッドの詳細

    - #### load

          public DynamicStorage<T> load()

      全ての要素をロードします.
      定義:
        `load` インタフェース内 `Loadable`
      戻り値:
        このストレージを返します。

    - #### load

          public T load(java.lang.String name)
                 throws NameNotFoundException

      指定した名前を持つオブジェクトを、ロードしてから取得します.
      パラメータ:
        `name` - オブジェクトの名前を指定します。
      戻り値:
        ロードされたオブジェクトを返します。
      例外:
        `NameNotFoundException` - 指定した名前を持つオブジェクトがこのストレージに含まれていない 時に投げられます。

    - #### free

          public DynamicStorage<T> free()

      全ての要素を開放します.
      定義:
        `free` インタフェース内 `Freeable`
      戻り値:
        このストレージを返します。

    - #### free

          public T free(java.lang.String name)
                 throws NameNotFoundException

      指定した名前を持つオブジェクトを、開放から取得します.
      パラメータ:
        `name` - オブジェクトの名前を指定します。
      戻り値:
        開放されたオブジェクトを返します。
      例外:
        `NameNotFoundException` - 指定した名前を持つオブジェクトがこのストレージに含まれていない 時に投げられます。

    - #### loadAll

          public void loadAll(java.lang.String... names)

      指定された全ての要素をロードします.
      パラメータ:
        `names` - ロードする要素の名前を指定します。

    - #### freeAll

          public void freeAll(java.lang.String... names)

      指定された全ての要素を開放します.
      パラメータ:
        `names` - 開放する要素の名前を指定します。

    - #### exFree

          public void exFree(java.lang.String... names)

      指定された名前を持つオブジェクト以外を全て開放します.
      パラメータ:
        `names` - 開放しないオブジェクトの名前を送信します。

    - #### isLoaded

          public boolean isLoaded()

      最低1つの要素がロードされているかを検査します.
      定義:
        `isLoaded` インタフェース内 `Loadable`
      戻り値:
        1つ以上の要素がロードされている場合はtrue、全ての要素がロードされていない場合は falseを返します。

    - #### isLoadedAll

          public boolean isLoadedAll()

      全ての要素がロードされているかを検査します.
      戻り値:
        全ての要素がロードされている場合はtrueを返します。

    - #### isLoaded

          public boolean isLoaded(java.lang.String name)
                           throws NameNotFoundException

      指定した名前を持つオブジェクトが、ロードされているかを調べます.
      パラメータ:
        `name` - オブジェクトの名前を指定します。
      戻り値:
        指定した名前を持つオブジェクトのisLoadedを返します。
      例外:
        `NameNotFoundException` - 指定した名前を持つオブジェクトがこのストレージに含まれていない 時に投げられます。