WebObjects 5.2.3

com.webobjects.eocontrol
Interface EOFaulting

All Known Subinterfaces:
EODeferredFaulting, EOEnterpriseObject
All Known Implementing Classes:
EOCustomObject

public interface EOFaulting

EOFaultingインターフェースは、EOFaultHandlerクラスと協調してオブジェクトの初期化を必要になるまで遅らせる仕組みを用意します。 初期化前の状態のEOFaultingオブジェクトをフォールトと呼びます。 初期化されていないオブジェクトのメソッドが実行されると、フォールトハンドラが発火(オブジェクトのデータをフェッチする)し、初期化を行います。 フォールトは通常EOAccessレイヤーで使われ、未フェッチのオブジェクトを表します。 リレーション先のオブジェクトなど、オブジェクトがまだフェッチされていなくても、アプリケーション内にインスタンスが必要です。 このときデータにアクセスされると、フォールトが発火されます。

EOCustomObjectとEOGenericRecordは、EOFaultingインターフェースに必要な処理を実装しています。 フォールティングのカスタマイズが必要ではあれば、EOFaultHandlerのサブクラスを作り、フォールトをオブジェクトに変換する処理を実装します。

See Also:
EOFaultHandler

Method Summary
 void clearFault()
           オブジェクトを turnIntoFault メソッドを実行する前の状態(オブジェクトをフォールトにする前の状態)に戻します。
 EOFaultHandler faultHandler()
           オブジェクトを発火するためのEOFaultHandlerを返します。
 boolean isFault()
           オブジェクトがフォールトかどうかを返します。
 void turnIntoFault(EOFaultHandler handler)
           handler をオブジェクトに設定し、オブジェクトをフォールトに変換します。 フォールトはオブジェクトの元の状態を復元するための情報と、通常のオブジェクト(データベースからフェッチしたデータなど)に変換するための情報を備えています。
 void willRead()
           オブジェクトを、データベースからフェッチしたデータで補充します。
 

Method Detail

clearFault

public void clearFault()
オブジェクトを turnIntoFault メソッドを実行する前の状態(オブジェクトをフォールトにする前の状態)に戻します。 オブジェクトがフォールトでなければ例外を発生します。 このメソッドを使うことはまずありません。 通常はEOFaultHandlerがフォールト発火処理を行うときに実行します。

See Also:
turnIntoFault(EOFaultHandler), EOFaultHandler.clearFault(Object)

faultHandler

public EOFaultHandler faultHandler()
オブジェクトを発火するためのEOFaultHandlerを返します。 オブジェクトがフォールトでなければ null を返します。

Returns:
オブジェクトを発火するためのEOFaultHandler。 オブジェクトがフォールトでなければ null
See Also:
EOFaultHandler.handlerForFault(Object)

isFault

public boolean isFault()
オブジェクトがフォールトかどうかを返します。

Returns:
オブジェクトがフォールトであれば true 、そうでなければ false
See Also:
EOFaultHandler.isFault(Object)

turnIntoFault

public void turnIntoFault(EOFaultHandler handler)
handler をオブジェクトに設定し、オブジェクトをフォールトに変換します。 フォールトはオブジェクトの元の状態を復元するための情報と、通常のオブジェクト(データベースからフェッチしたデータなど)に変換するための情報を備えています。 オブジェクトは handler を保持します。

Parameters:
handler - フォールトハンドラ
See Also:
EOFaultHandler.makeObjectIntoFault(Object, EOFaultHandler)

willRead

public void willRead()

オブジェクトを、データベースからフェッチしたデータで補充します。 アプリケーションがオブジェクトのメソッドを実行する前に、確実にデータを準備する必要があります。 そのため、エンタープライズオブジェクトは実行するメソッドよりも優先して willRead を実行します。 主に次のような "get" メソッドで使われます。

  public String roleName() {
      willRead();
      return roleName;
  }
 


Last updated Thu Oct 21 15:04:16 PDT 2004.

Copyright © 2004 Apple Computer, Inc.