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

## kinugasa.contents.event
クラス SingleClassEventManager<T extends java.io.Serializable>

    java.lang.Object
      kinugasa.contents.event.EventManager
          kinugasa.contents.event.SingleClassEventManager<T>

型パラメータ:
  `T` - このマネージャが扱うイベントの型を指定します。

すべての実装されたインタフェース:
  java.io.Serializable, Freeable

    public abstract class SingleClassEventManager<T extends java.io.Serializable>

extends EventManager

Kinugasa : SingleClassEventManager : 単一のクラスのイベントを扱うイベントマネージャです.
このクラスは単一の型のEventの実装を時系列に発生させる仕組みを提供します。
クラスインスタンスによって次に発生するイベントを検索する必要がないため、通常はMultiClassEventManagerよりも 高速に動作します。
イベントを登録するには、このクラスの具象クラスを定義し、initメソッド内でaddメソッドを使用してイベントを追加します。
イベントを実行するにはhasNextメソッドとexecuteメソッドを利用します。
`while(manager.hasNext()){ items.add(manager.execute()); }`

バージョン:
  1.0.0 - 2012/11/15_8:04:20
作成者:
  Dra0211
関連項目:
  直列化された形式

フィールドの概要
`private java.util.List<Event<T>>` | `events` このマネージャのイベントリストです.
`private static long` | `serialVersionUID`

クラス kinugasa.contents.event.EventManager から継承されたフィールド
`TIME_BASE_ENTRY_MODEL`

コンストラクタの概要
`SingleClassEventManager()` 新しいイベントマネージャを構築します.
`SingleClassEventManager(int initialSize)` 新しいイベントマネージャを構築します.

メソッドの概要
`void` | `add(Event<T> evt)` このマネージャに新しいイベントを追加します.
`void` | `addAll(Event<T>... evt)` このマネージャに新しいイベントを追加します.
`void` | `clear()` マネージャに追加されているすべてのイベントを破棄します.
`boolean` | `contains(Event<?> evt)` マネージャにイベントevtが含まれているかを調べます.
`T` | `execute()` イベントリストの先頭のイベントが実行可能であれば実行してイベントのアイテムを返します.
`SingleClassEventManager<T>` | `free()` コンテンツをメモリから破棄出来るようにします.
`java.util.List<Event<T>>` | `getEvents()` このマネージャに含まれているすべてのイベントを取得します.
`Event<T>` | `getNext()` イベントリストの先頭のイベントを返します.
`boolean` | `hasNext()` イベントリストの先頭のイベントが実行可能な状態で待機中であるかを検査します.
`protected abstract void` | `init()` マネージャに追加されているイベントを初期化します.
`boolean` | `isEmpty()` マネージャの破棄されていないイベントの数が0個であるかを検査します.
`SingleClassEventManager<T>` | `load()` コンテンツをロードして展開します.
`void` | `printAll(java.io.PrintStream stream)` ストリームにイベントの情報を発行します.
`void` | `remove(Event<?> evt)` マネージャにイベントevtが含まれていれば削除します.
`void` | `removeAll(Event<?>... evt)` マネージャにイベントevtが含まれていれば削除します.
`int` | `size()` マネージャに追加されており、まだ破棄されていないイベントの数を取得します.
`void` | `sort()` マネージャに追加されているイベントを、時系列に沿ってソートします.
`java.lang.String` | `toString()`

クラス kinugasa.contents.event.EventManager から継承されたメソッド
`getProgressTime, isLoaded, update`

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

フィールドの詳細

### serialVersionUID

    private static final long serialVersionUID

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

### events

    private java.util.List<Event<T extends java.io.Serializable>> events

  このマネージャのイベントリストです.

コンストラクタの詳細

### SingleClassEventManager

    public SingleClassEventManager()

  新しいイベントマネージャを構築します. このメソッドでは、イベントの初期値は32となります。

### SingleClassEventManager

    public SingleClassEventManager(int initialSize)

  新しいイベントマネージャを構築します.

  パラメータ:
    `initialSize` - イベントの初期容量を指定します。

メソッドの詳細

### init

    protected abstract void init()

  クラス `EventManager` の記述:
  マネージャに追加されているイベントを初期化します. このメソッドはloadメソッドをコールすると自動的に呼ばれます。
  具象クラスでは、addメソッドを使用してイベントを追加する処理を記述する 必要があります。

  定義:
    クラス `EventManager` 内の `init`

### load

    public SingleClassEventManager<T> load()

  インタフェース `Freeable` の記述:
  コンテンツをロードして展開します. すでにロードされている場合の動作は、実装によって異なります。
  再度ロードすることで、データを最新のものに更新するなど、効果のある場合には、すでにロードされている場合でも 再度ロードすることがあります。

  定義:
    インタフェース `Freeable` 内の `load`
  オーバーライド:
    クラス `EventManager` 内の `load`
  戻り値:
    インスタンス化と同時にロードするために、thisインスタンスを返します。戻り値は 適切な型にキャストする必要があります。

### free

    public SingleClassEventManager<T> free()

  インタフェース `Freeable` の記述:
  コンテンツをメモリから破棄出来るようにします. 実際にメモリから破棄されるタイミングは、GCに依存します。
  まだロードされていないか、開放済みのオブジェクトを開放した場合には、通常は何も行いません。

  定義:
    インタフェース `Freeable` 内の `free`
  オーバーライド:
    クラス `EventManager` 内の `free`
  戻り値:
    デフォルトでロードされる実装を、インスタンス化と同時に開放するためにthisインスタンスを返します。
    戻り値は適切な型にキャストする必要があります。通常、このような実装は効率的でないため推奨されません。

### printAll

    public void printAll(java.io.PrintStream stream)

  クラス `EventManager` の記述:
  ストリームにイベントの情報を発行します. このメソッドはデバッグ用です。loadメソッドによって実行されます。

  定義:
    クラス `EventManager` 内の `printAll`
  パラメータ:
    `stream` - 発行するストリームを送信します。

### sort

    public void sort()

  クラス `EventManager` の記述:
  マネージャに追加されているイベントを、時系列に沿ってソートします.

  定義:
    クラス `EventManager` 内の `sort`

### size

    public int size()

  クラス `EventManager` の記述:
  マネージャに追加されており、まだ破棄されていないイベントの数を取得します.

  定義:
    クラス `EventManager` 内の `size`
  戻り値:
    追加ずみイベントの数を返します。

### isEmpty

    public boolean isEmpty()

  クラス `EventManager` の記述:
  マネージャの破棄されていないイベントの数が0個であるかを検査します.

  定義:
    クラス `EventManager` 内の `isEmpty`
  戻り値:
    マネージャにイベントがない場合はtrue、1個以上のイベントが待機中である場合はfalseを返します。

### clear

    public void clear()

  クラス `EventManager` の記述:
  マネージャに追加されているすべてのイベントを破棄します.

  定義:
    クラス `EventManager` 内の `clear`

### contains

    public boolean contains(Event<?> evt)

  クラス `EventManager` の記述:
  マネージャにイベントevtが含まれているかを調べます.

  定義:
    クラス `EventManager` 内の `contains`
  パラメータ:
    `evt` - 検査するイベントを送信します。
  戻り値:
    evtがイベントリストに含まれている場合はtrueを返します。

### remove

    public void remove(Event<?> evt)

  クラス `EventManager` の記述:
  マネージャにイベントevtが含まれていれば削除します. このメソッドは実行したイベントを破棄するためにも使用されます。
  evtが含まれていない場合は何も行いません。

  定義:
    クラス `EventManager` 内の `remove`
  パラメータ:
    `evt` - 削除するイベントを送信します。

### removeAll

    public void removeAll(Event<?>... evt)

  クラス `EventManager` の記述:
  マネージャにイベントevtが含まれていれば削除します. このメソッドは実行したイベントを破棄するためにも使用されます。
  evtが含まれていない場合は何も行いません。

  定義:
    クラス `EventManager` 内の `removeAll`
  パラメータ:
    `evt` - 削除するイベントを送信します。

### add

    public void add(Event<T> evt)

  このマネージャに新しいイベントを追加します. このメソッドは、マネージャがロード済みでも使用できます。
  ただしその場合はイベントがソートされません。
  ロード前の場合は、ロード時にソートされます。
  ソートをする場合はsortメソッドを使用してください。

  パラメータ:
    `evt` - 追加するイベントを送信します。

### addAll

    public void addAll(Event<T>... evt)

  このマネージャに新しいイベントを追加します. このメソッドは、マネージャがロード済みでも使用できます。
  ただしその場合はイベントがソートされません。
  ロード前の場合は、ロード時にソートされます。
  ソートをする場合はsortメソッドを使用してください。

  パラメータ:
    `evt` - 追加するイベントを送信します。

### getEvents

    public java.util.List<Event<T>> getEvents()

  このマネージャに含まれているすべてのイベントを取得します. このメソッドは参照を保持します。戻り値に対する操作はこのマネージャに反映されます。

  戻り値:
    マネージャに現在格納されているイベントのリストを返します。

### getNext

    public Event<T> getNext()
                                                  throws NotYetLoadedException

  イベントリストの先頭のイベントを返します. このメソッドでは発見されたイベントを実行／削除せずに返します。
  通常はhasNextおよびexecuteを使用してください。

  戻り値:
    イベントリストの先頭の要素をそのまま返します。isEmptyがtrueの場合はnullを返します。
  例外:
    `NotYetLoadedException` - マネージャがロードされていない場合に投げられます。

### execute

    public T execute()
                                           throws NotYetLoadedException

  イベントリストの先頭のイベントが実行可能であれば実行してイベントのアイテムを返します. このメソッドで返されるオブジェクトは、発見されたイベントのexecuteの結果です。
  このメソッドは、実行できるイベントが存在しない場合にnullを返す点に注意してください。
  通常は、以下のようにhasNextを組み合わせて使用します。

  戻り値:
    イベントを実行した場合は、そのイベントのexecuteの結果を返します。実行するイベントがない場合(hasNext==false)はnullを返します。
  例外:
    `NotYetLoadedException` - マネージャがロードされていない場合に投げられます。

### hasNext

    public boolean hasNext()
                    throws NotYetLoadedException

  イベントリストの先頭のイベントが実行可能な状態で待機中であるかを検査します. このメソッドでは、このマネージャに登録されているイベントリストの最初のイベントの isReachingがtrueを返すかどうかを検査します。

  戻り値:
    イベントリストの先頭のイベントのisReachingの結果を返します。
  例外:
    `NotYetLoadedException` - マネージャがロードされていない場合に投げられます。

### toString

    public java.lang.String toString()

  オーバーライド:
    クラス `EventManager` 内の `toString`

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