EODelegateSaving

2007/03/30 (Fri) 22:07:46 JST

基本的に時系列順に並べてありますが、保存時に呼ばれるデリゲートメソッドはこの他にもあります。データベース操作 (EODelegateOperating) も参考にしてください。

EOEditingContext.editingContextShouldPresentException
?EditingContextでキャッチした例外を発生させるかどうかを決める。 falseを返すと例外を無視する。
EOEditingContext.editingContextWillSaveChanges
saveChangesが実行されたときに呼ばれる。
EOEditingContext.editingContextShouldValidateChanges
saveChangesが実行されたときに呼ばれ、オブジェクトの検証を行うかどうかを決める。 falseを返すとオブジェクトの検証を行わない。 独自にオブジェクトを検証する処理を実装するとき、このメソッドを使ってデフォルトの検証処理を行わないようにすることができる。
EOEditingContext.editingContextShouldUndoUserActionsAfterFailure
変更の保存する過程(processRecentChanges)で、オブジェクトの検証エラーがあったときに呼ばれる。 デフォルトでは検証エラーがあると自動的に保存前の状態に戻される(アンドゥ)が、falseを返すとアンドゥしないようにできる。
EOClassDescription.shouldPropagateDeleteForObject
オブジェクトの削除時、propagateDeleteForObjectから呼ばれる。 falseを返すとリレーション先のオブジェクトに削除の命令を送らない。 場合によってはどこからも参照されないオブジェクトができてしまう可能性があるので注意する必要がある。
EOAdaptor.adaptorFetchedValueForValue
オブジェクトの保存前に呼ばれ、挿入・更新待ちのデータを属性ごとに調整することができる。
EODatabaseContext.databaseContextShouldLockObjectWithGlobalID
オブジェクトをロックする前にlockObjectWithGlobalIDから呼ばれる。 falseを返すとオブジェクトをロックしないで処理を進める。 このメソッドを使うと独自のロック処理を実装することができる。
EODatabaseContext.databaseContextShouldRaiseExceptionForLockFailure
lockObjectWithGlobalIDから呼ばれる。 オブジェクトのロックが失敗したときに発生した例外を無視させるかどうかを決める。
EODatabaseContext.databaseContextNewPrimaryKey
新しいオブジェクトをデータベースに保存するとき、データ行の主キー値を生成するために呼ばれる。 独自の方法で主キー値を生成することができる。
EOAdaptorChannel.adaptorChannelDidPerformOperations
データベース操作の終了後、performAdaptorOperationsから呼ばれる。 引数に例外オブジェクトがあるが、例外を発生することなくデータベース操作が終了した場合はnullがセットされる。 発生した例外とは異なる例外を返したり、nullを返して例外を無視させることができる。

Inverse Pages: EODelegateFetching WebObjects基礎研究室