EODelegateModel
2007/03/30 (Fri) 22:07:46 JST
モデルの情報を動的に決定するデリゲートメソッドが中心です。デリゲートは?EOModelGroupにセットします。 メソッドは基本的にEOFの初期化からオブジェクトのフェッチまでに呼ばれる順序で並べています。
defaultModelGroup (ClassDelegate)
- ?EOModelGroup.defaultGroup()を呼ぶたびに呼ばれる。 このメソッドを実装すると、独自の?ModelGroupをEOFにデフォルトの?ModelGroupとして使わせることができる。 また、デフォルトの?ModelGroupは?EOModelGroup.setDefaultGroupでも設定できる。
relationshipFailedToLookupDestinationWithName
- モデルファイルからリレーションシップを構築するとき(動的にモデルファイルを追加するなどしてloadAllModelObjectsを呼んだとき)、接続先のエンティティが存在しない場合に呼ばれる。 代わりの接続先にするエンティティか、nullを返す。 nullを返すと接続先のエンティティにnullがセットされる。
classForObjectWithGlobalID
- オブジェクトを生成するためのクラスを決定するときに呼ばれる。 nullを返すと?EOGenericRecordが使われる。 動的にeoのクラスを決定したり、エンティティの継承の調整ができる。
failedToLookupClassNamed
- エンティティで指定されている、オブジェクトを生成するためのクラスが見つからないときに呼ばれる。 戻り値のクラスが見つからないか、もしくはnullを返すと?EOGenericRecordが使われる。
subEntityForEntity
- フェッチ時、スナップショットに対するサブエンティティを決定するときに呼ばれる。 フェッチしたスナップショットに対し、モデルファイルで指定したエンティティではなく特定のサブエンティティを使ってオブジェクトを生成するよう指定することができる。
relationshipForRow
- フェッチしたオブジェクトのリレーションシップを決定するときに呼ばれる。 エンティティで指定したリレーションシップとは異なるリレーションシップを設定することができる。
Inverse Pages: WebObjects基礎研究室