WebObjects 5.2.3

com.webobjects.eocontrol
Class EOFetchSpecification

java.lang.Object
  extended bycom.webobjects.eocontrol.EOFetchSpecification
All Implemented Interfaces:
Cloneable, EOKeyValueArchiving, NSCoding, Serializable

public class EOFetchSpecification
extends Object
implements Serializable, Cloneable, NSCoding, EOKeyValueArchiving

EOFetchSpecificationは、リレーショナルデータベースなどの外部リポジトリかEOEditingContextなどの内部ストアから、レコードやエンタープライズオブジェクトの集合を選択・順序付ける基準をまとめます。 EOFetchSpecificationは次の要素を含みます。

EOFetchSpecificationが最もよく使われるメソッドは、EOObjectStore、EOEditingContext、EODatabaseContextで定義されている objectsWithFetchSpecification です。 また、EOAdaptorChannelとEODatabaseChannelもEOFetchSpecificationを使うメソッドを定義しています。

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class com.webobjects.foundation.NSCoding
NSCoding.Support
 
Nested classes inherited from class com.webobjects.eocontrol.EOKeyValueArchiving
EOKeyValueArchiving.Awaking, EOKeyValueArchiving.FinishInitialization, EOKeyValueArchiving.Support
 
Constructor Summary
EOFetchSpecification()
           EOFetchSpecificationを生成します。
EOFetchSpecification(String entityName, EOQualifier qualifier, NSArray sortOrderings)
           指定した引数を使ってEOFetchSpecificationを生成します。
EOFetchSpecification(String entityName, EOQualifier qualifier, NSArray sortOrderings, boolean usesDistinct, boolean isDeep, NSDictionary hints)
           指定した引数を使って新しくEOFetchSpecificationを生成します。
 
Method Summary
 Class classForCoder()
           オブジェクトがエンコードされる前に、コーダーのクラスを置き換えることができます。
 Object clone()
           java.lang.Cloneable インターフェースの実装です。
static Object decodeObject(NSCoder coder)
           coder が保持する型情報とデータを元に、オブジェクトを(再度)生成します。
static Object decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver unarchiver)
           unarchiver の情報を元にオブジェクトを(再度)生成します。
 void encodeWithCoder(NSCoder coder)
           オブジェクトの型情報とデータを coder に書き込みます。
 void encodeWithKeyValueArchiver(EOKeyValueArchiver archiver)
           オブジェクトの型情報とデータを archiver に書き込みます。
 String entityName()
           フェッチするエンティティ名を返します。
 boolean fetchesRawRows()
           rawRowKeyPathsnull 以外の値を返すかどうかを返します。
 int fetchLimit()
           フェッチするオブジェクトの最大数の制限を返します。
static EOFetchSpecification fetchSpecificationNamed(String name, String entityName)
           フェッチするエンティティ名を entityName に、フェッチ仕様名を name にしたEOFetchSpecificationオブジェクトを生成して返します。
 EOFetchSpecification fetchSpecificationWithQualifierBindings(NSDictionary bindings)
           バインディング bindings が存在すればフェッチ条件に設定し、新しいフェッチ仕様オブジェクトを返します。
 NSDictionary hints()
           フェッチ操作を最適化・変更するヒントとして設定されているオブジェクトを返します。
 boolean isDeep()
           サブエンティティも含めてフェッチするならば true を、そうでなければ false を返します。
 boolean locksObjects()
           データリポジトリからフェッチするオブジェクトをロックするのであれば true を、そうでなければ false を返します。
 NSArray prefetchingRelationshipKeyPaths()
           メインのエンティティのフェッチ時に、一緒にフェッチしておくリレーションシップキーパスの配列を返します。
 boolean promptsAfterFetchLimit()
           フェッチ制限に達した後にユーザを促すかどうかを返します。
 EOQualifier qualifier()
           フェッチするレコードやオブジェクトを指定するEOQualifierを返します。
 NSArray rawRowKeyPaths()
           属性キーパスの配列を返します。 このキーパスは、データベース行をフェッチし、通常のオブジェクトで構成される結果に代わる辞書オブジェクトの配列を返すために使われます。
 boolean refreshesRefetchedObjects()
           既存のオブジェクトに更新・変更があったとき、フェッチした値で上書きするならば true を、 データを再フェッチしても上書きしないならば false を返します。
 boolean requiresAllQualifierBindingVariables()
           バインディングが見つからない場合、代替変数を決定する間に発生した例外をそのまま投げるならば true を返します。
 void setEntityName(String entityName)
           entityName をフェッチするルートエンティティ名として設定します。
 void setFetchesRawRows(boolean fetchesRawRows)
           データベース行をフェッチする際の挙動を設定します。
 void setFetchLimit(int fetchLimit)
           フェッチするオブジェクトの最大数の制限を指定します。
 void setHints(NSDictionary hints)
           ヒントとなるオブジェクトを hints に設定します。
 void setIsDeep(boolean isDeep)
           サブエンティティも含めてフェッチするかどうかを設定します。
 void setLocksObjects(boolean locksObjects)
           データリポジトリからフェッチするオブジェクトをロックするかどうかをを設定します。
 void setPrefetchingRelationshipKeyPaths(NSArray keyPaths)
           メインのエンティティのフェッチ時に、一緒にフェッチしておくリレーションシップキーパスの配列を設定します。
 void setPromptsAfterFetchLimit(boolean value)
           フェッチを続けるかどうかユーザを促すため、フェッチ制限に達した際にアプリケーションのメッセージハンドラに通知するかどうかを設定します。
 void setQualifier(EOQualifier qualifier)
           qualifier をフェッチ条件として設定します。
 void setRawRowKeyPaths(NSArray keyPaths)
           属性キーパスの配列を設定します。 このキーパスは、データベース行をフェッチし、通常のオブジェクトで構成される結果に代わる辞書オブジェクトの配列を返すために使われます。
 void setRefreshesRefetchedObjects(boolean refreshes)
           既存のオブジェクトに更新・変更があったとき、フェッチした値で上書きするかどうかを設定します。
 void setRequiresAllQualifierBindingVariables(boolean requires)
           バインディングが見つからず、代替変数を決定する間の挙動を設定します。
 void setSortOrderings(NSArray sortOrderings)
           sortOrderings をEOSortOrderingsの配列として設定します。
 void setUsesDistinct(boolean usesDistinct)
           フェッチ時に重複したレコードやオブジェクトを取り除くかどうかを設定します。
 NSArray sortOrderings()
           EOSortOrderingsの配列を返します。
 String toString()
           オブジェクトを文字列にして返します。
 boolean usesDistinct()
           フェッチ時に重複したレコードやオブジェクトを取り除くなら true を、取り除かないなら false を返します。
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EOFetchSpecification

public EOFetchSpecification()
新しくEOFetchSpecificationを生成します。 デフォルトでは深くフェッチしますが重複の除去はしません。 EOFetchSpecificationを使う前に、他のパラメータを設定する必要があります。 エンティティ名は必須です。

See Also:
setEntityName(String)

EOFetchSpecification

public EOFetchSpecification(String entityName,
                            EOQualifier qualifier,
                            NSArray sortOrderings,
                            boolean usesDistinct,
                            boolean isDeep,
                            NSDictionary hints)
指定した引数を使って新しくEOFetchSpecificationを生成します。 引数のうちエンティティ名は必ず指定してください。 qualifier が空の(何もEOQualifierを持たない)EOAndQualifierやEOOrQualifierの場合、 フェッチ条件には null が設定されることになります。

Parameters:
entityName - フェッチするエンティティ名
qualifier - フェッチ条件
sortOrderings - フェッチ結果のソート順序
usesDistinct - 重複を取り除くなら true 、そうでなければ false
isDeep - 深くフェッチするなら true 、そうでなければ false
hints - フェッチのヒント

EOFetchSpecification

public EOFetchSpecification(String entityName,
                            EOQualifier qualifier,
                            NSArray sortOrderings)
指定した引数を使って新しくEOFetchSpecificationを生成します。 引数のうちエンティティ名は必ず指定してください。 生成したEOFetchSpecificationは、深くフェッチを行う、重複の除去をしない、ヒントを持たない設定になります。 また qualifier が空の(何もEOQualifierを持たない)EOAndQualifierやEOOrQualifierの場合、 フェッチ条件には null が設定されることになります。

Parameters:
entityName - フェッチするエンティティ名
qualifier - フェッチ条件
sortOrderings - フェッチ結果のソート順序
Method Detail

classForCoder

public Class classForCoder()
オブジェクトがエンコードされる前に、コーダーのクラスを置き換えることができます。

Specified by:
classForCoder in interface NSCoding
Returns:
記録に使うコーダーのクラス
See Also:
encodeWithCoder(NSCoder), decodeObject(NSCoder), NSCoding

clone

public Object clone()
java.lang.Cloneable インターフェースの実装です。

Returns:
オブジェクトの複製を返します。

decodeObject

public static Object decodeObject(NSCoder coder)
coder が保持する型情報とデータを元に、オブジェクトを(再度)生成します。

Parameters:
coder - オブジェクトのデータと型情報を保持するコーダー
Returns:
an object (re)created from the data in coder
See Also:
encodeWithCoder(NSCoder coder), classForCoder(), NSCoding

decodeWithKeyValueUnarchiver

public static Object decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver unarchiver)
unarchiver の情報を元にオブジェクトを(再度)生成します。

Parameters:
unarchiver - オブジェクトのデコードに使う key-value アーカイバ
Returns:
an object (re)created from the data in unarchiver
See Also:
EOKeyValueArchiving

encodeWithCoder

public void encodeWithCoder(NSCoder coder)
オブジェクトの型情報とデータを coder に書き込みます。 これによって decodeObject でオブジェクトを復元することができます。 独自に型情報を使うには classForCoder をオーバーライドします。

Specified by:
encodeWithCoder in interface NSCoding
Parameters:
coder - オブジェクトのデータと型情報を保持するコーダー
See Also:
decodeObject(NSCoder), classForCoder(), NSCoding

encodeWithKeyValueArchiver

public void encodeWithKeyValueArchiver(EOKeyValueArchiver archiver)
オブジェクトの型情報とデータを archiver に書き込みます。 これによって decodeWithKeyValueUnarchiver でオブジェクトを復元することができます。

Specified by:
encodeWithKeyValueArchiver in interface EOKeyValueArchiving
Parameters:
archiver - エンコードに使用する key-value アーカイバ
See Also:
EOKeyValueArchiving

entityName

public String entityName()
フェッチするエンティティ名を返します。

Returns:
フェッチするエンティティ名を返します。
See Also:
setEntityName(String), isDeep()

fetchLimit

public int fetchLimit()
フェッチするオブジェクトの最大数の制限を指定します。 promptsAfterFetchLimit の値によっては、制限に達したときにEODatabaseContextがフェッチを中止したり、EOEditingContextのメッセージハンドラがフェッチを続けるかどうか決定します。 0 を設定すると無制限にオブジェクトをフェッチします。 デフォルト値は 0 です。

Returns:
フェッチするオブジェクトの最大数の制限を返します。
See Also:
setFetchLimit(int), promptsAfterFetchLimit(), setPromptsAfterFetchLimit(boolean)

fetchSpecificationNamed

public static EOFetchSpecification fetchSpecificationNamed(String name,
                                                           String entityName)
フェッチするエンティティ名を entityName に、フェッチ仕様名を name にしたEOFetchSpecificationオブジェクトを生成して返します。

Parameters:
name - フェッチ仕様名
entityName - フェッチするエンティティ名
Returns:
名前をつけたフェッチ仕様を返します。

fetchSpecificationWithQualifierBindings

public EOFetchSpecification fetchSpecificationWithQualifierBindings(NSDictionary bindings)
バインディング bindings が存在すればフェッチ条件に設定し、新しいフェッチ仕様オブジェクトを返します。 デフォルトの挙動では、バインディングが存在しなければノードを切り詰めます。 setRequiresAllQualifierBindingVariablestrue を設定すると、存在しないバインディングの代替変数を決定する時に、強制的に例外を発生させます。

Parameters:
bindings - フェッチ条件に設定するバインディング
Returns:
新しいフェッチ仕様
See Also:
setRequiresAllQualifierBindingVariables(boolean)

fetchesRawRows

public boolean fetchesRawRows()
rawRowKeyPathsnull 以外の値を返すかどうかを返します。

Returns:
rawRowKeyPathsnull 以外の値を返すなら true を、そうでなければ false を返します。
See Also:
rawRowKeyPaths(), setFetchesRawRows(boolean)

hints

public NSDictionary hints()
フェッチ操作を最適化・変更するヒントとして設定されているオブジェクトを返します。

Returns:
ヒントを返します。
See Also:
setHints(NSDictionary)

isDeep

public boolean isDeep()

サブエンティティも含めてフェッチするならば true を、そうでなければ false を返します。 デフォルト値は true です。

例えば従業員と顧客の2つのサブエンティティを持つ人物エンティティがあるとき、人物オブジェクトを深くフェッチすると、条件にマッチする従業員・顧客オブジェクトもすべてフェッチします。 浅くフェッチすると、条件にマッチする人物オブジェクトのみをフェッチします。

Returns:
サブエンティティも含めてフェッチするならば true を、そうでなければ false を返します。
See Also:
setIsDeep(boolean)

locksObjects

public boolean locksObjects()
データリポジトリからフェッチするオブジェクトをロックするのであれば true を、そうでなければ false を返します。 デフォルト値は false です。 不要なロックはデータベース操作のパフォーマンスを落とす可能性があることに注意してください。

Returns:
データリポジトリからフェッチするオブジェクトをロックするのであれば true を、そうでなければ false を返します。
See Also:
setLocksObjects(boolean)

prefetchingRelationshipKeyPaths

public NSArray prefetchingRelationshipKeyPaths()
メインのエンティティのフェッチ時に、一緒にフェッチしておくリレーションシップキーパスの配列を返します。 例えば Movie エンティティなら ("directors","roles.talent", "plotSummary") のパスを指定することができます。

Returns:
事前フェッチするリレーションシップキーパスの配列を返します。
See Also:
setPrefetchingRelationshipKeyPaths(NSArray)

promptsAfterFetchLimit

public boolean promptsAfterFetchLimit()
フェッチ制限に達した後にユーザを促すかどうかを返します。 デフォルト値は false です。

Returns:
フェッチ制限に達した後にユーザを促すなら true 、フェッチを中断するなら
See Also:
setPromptsAfterFetchLimit(boolean), fetchLimit(), setFetchLimit(int)

qualifier

public EOQualifier qualifier()
フェッチするレコードやオブジェクトを指定するEOQualifierを返します。

Returns:
フェッチするレコードやオブジェクトを指定するEOQualifierを返します。
See Also:
setQualifier(EOQualifier)

rawRowKeyPaths

public NSArray rawRowKeyPaths()
属性キーパスの配列を返します。 このキーパスは、データベース行をフェッチし、通常のオブジェクトで構成される結果に代わる辞書オブジェクトの配列を返すために使われます。 データベース行のフェッチは処理速度が速くなりますが、エンタープライズオブジェクトのメリットをほとんど失うことになります。 デフォルト値は null であり、フェッチの結果としてオブジェクトを返します。 空の配列の場合は設定されたエンティティに対してフェッチします。 このときフェッチする属性は attributesToFetch メソッドによって決まります。 主キー属性が(戻り値の)データベース属性に含まれる限り、 データベース行はEOEditingContextの faultForRawRow メソッドでフォールトを生成するのに使われる可能性があります。

Returns:
データベース行をフェッチするための属性キーパスの配列
See Also:
setFetchesRawRows(boolean), setRawRowKeyPaths(NSArray), EOEditingContext.faultForRawRow(NSDictionary, String), EOEditingContext.faultForRawRow(NSDictionary, String, EOEditingContext)

refreshesRefetchedObjects

public boolean refreshesRefetchedObjects()
既存のオブジェクトに更新・変更があったとき、フェッチした値で上書きするならば true を返します。 データを再フェッチしても上書きしないならば false を返します(フェッチしたデータは破棄されます)。 デフォルト値は false です。 この設定はリレーションシップ先のオブジェクトまでは影響しないので注意してください。

Returns:
既存のオブジェクトに更新・変更があったとき、フェッチした値で上書きするならば true を、上書きしないならば false を返します。
See Also:
setRefreshesRefetchedObjects(boolean)

requiresAllQualifierBindingVariables

public boolean requiresAllQualifierBindingVariables()
バインディングが見つからない場合、代替変数を決定する間に発生した例外をそのまま投げるならば true を返します。 デフォルト値は false で、バインディングのないノードを切り詰めます。

Returns:
バインディングが見つからない場合に例外を発生させるならば true を、そうでなければ false

setEntityName

public void setEntityName(String entityName)
entityName をフェッチするルートエンティティ名として設定します。

Parameters:
entityName - フェッチするルートエンティティ名
See Also:
isDeep(), entityName()

setFetchLimit

public void setFetchLimit(int fetchLimit)
フェッチするオブジェクトの最大数の制限を指定します。 promptsAfterFetchLimit の値によっては、制限に達したときにEODatabaseContextがフェッチを中止したり、EOEditingContextのメッセージハンドラがフェッチを続けるかどうか決定します。 0 を設定すると無制限にオブジェクトをフェッチします。 デフォルト値は 0 です。

Parameters:
fetchLimit - フェッチするオブジェクトの最大数の制限
See Also:
fetchLimit(), promptsAfterFetchLimit(), setPromptsAfterFetchLimit(boolean)

setFetchesRawRows

public void setFetchesRawRows(boolean fetchesRawRows)
データベース行をフェッチする際の挙動を設定します。 true を設定すると、 setRawRowKeyPaths に空の配列を設定するのと同じ挙動になります(fetchesRawRowstrue を返すようになります)。 false を設定すると、 setRawRowKeyPathsnull を設定するのと同じ挙動になります(fetchesRawRowsfalse を返すようになります)。 rawRowKeyPaths に何らかの値を設定していると、その値を上書きするので注意してください。
Parameters:
fetchesRawRows - rawRowKeyPathsnull 以外の値を返すなら true、そうでなければ false
See Also:
rawRowKeyPaths(), fetchesRawRows()

setHints

public void setHints(NSDictionary hints)
ヒントとなるオブジェクトを hints に設定します。 ヒントはフェッチ操作を最適化・変更するためのもので、どんなオブジェクトでも含められます。 例えば、EODatabaseContextは CustomQueryExpressionHintKey のキーで取得したオブジェクトをヒントとして使います。 EODatabaseContextはEnterprise Objects Frameworkで唯一フェッチ仕様のヒントを定義しているクラスです。

Parameters:
hints - ヒント
See Also:
hints(), EODatabaseContext

setIsDeep

public void setIsDeep(boolean isDeep)

サブエンティティも含めてフェッチするならば true を、そうでなければ false を設定します。 デフォルト値は true です。

例えば従業員と顧客の2つのサブエンティティを持つ人物エンティティがあるとき、人物オブジェクトを深くフェッチすると、条件にマッチする従業員・顧客オブジェクトもすべてフェッチします。 浅くフェッチすると、条件にマッチする人物オブジェクトのみをフェッチします。

Parameters:
isDeep - サブエンティティも含めてフェッチするならば true 、そうでなければ false
See Also:
isDeep()

setLocksObjects

public void setLocksObjects(boolean locksObjects)
データリポジトリからフェッチするオブジェクトをロックするかどうかをを設定します。 true を設定すればロックし、 false を設定すればロックしません。 デフォルト値は false です。 不要なロックはデータベース操作のパフォーマンスを落とす可能性があることに注意してください。

Parameters:
locksObjects - オブジェクトをロックするなら true 、そうでなければ false
See Also:
locksObjects()

setPrefetchingRelationshipKeyPaths

public void setPrefetchingRelationshipKeyPaths(NSArray keyPaths)

メインのエンティティのフェッチ時に、一緒にフェッチしておくリレーションシップキーパスの配列を設定します。 例えば Movie エンティティなら ("directors","roles.talent", "plotSummary") のパスを指定することができます。

事前フェッチは初期フェッチのコストが増えますが、データベースサーバを往復する回数を減らすことで、全体的なパフォーマンスを上げることができます。 事前フェッチを行うようリレーションシップを指定すると、フェッチ仕様のリフレッシュに影響します。

リフレッシュすると、既存の(フェッチ済みの)オブジェクトをフェッチした値で上書きします。 アプリケーションは他から行われたデータベースの変更を知ることができます。 通常EOFetchSpecificationに setRefreshesRefetchedObjects でリフレッシュするよう設定すると、次にフェッチしたオブジェクトのみリフレッシュします。 例えば従業員オブジェクトをフェッチしても、リレーションシップ先の部署オブジェクトまではフェッチしません。 しかし、リレーションシップ先を事前フェッチしておくと、指定したリレーションシップ先のオブジェクトがすべてリフレッシュされます。

Parameters:
keyPaths - 事前フェッチするリレーションシップキーパスの配列
See Also:
prefetchingRelationshipKeyPaths(), setRefreshesRefetchedObjects(boolean)

setPromptsAfterFetchLimit

public void setPromptsAfterFetchLimit(boolean value)

フェッチを続けるかどうかユーザを促すため、フェッチ制限に達した際にアプリケーションのメッセージハンドラに通知するかどうかを設定します。 valuefalse か、アプリケーションがメッセージハンドラを持たない場合、フェッチしたデータベース行の数が fetchLimit に達するとフェッチを中断します。 デフォルト値は false です。

メッセージハンドラはEOInterfaceのみ実装していることに注意してください。 標準のWebObjectsアプリケーションでこの機能を使うには、メッセージハンドラを直接設定し、 適切な方法でユーザを促すよう editingContextShouldContinueFetching を実装しなければなりません。

Parameters:
value - フェッチ制限に達した後にユーザを促すなら true 、フェッチを中断するなら
See Also:
fetchLimit(), setFetchLimit(int), promptsAfterFetchLimit(), EOEditingContext.MessageHandler.editingContextShouldContinueFetching(EOEditingContext context, int count, int originalLimit, EOObjectStore objectStore)

setQualifier

public void setQualifier(EOQualifier qualifier)
qualifier をフェッチ条件として設定します。 qualifier が空の場合(EOAndQualifierやEOOrQualifierのフェッチ条件が空の場合など)、フェッチ条件には null が設定されます。

Parameters:
qualifier - フェッチ条件
See Also:
qualifier()

setRawRowKeyPaths

public void setRawRowKeyPaths(NSArray keyPaths)
属性キーパスの配列を設定します。 このキーパスは、データベース行をフェッチし、通常のオブジェクトで構成される結果に代わる辞書オブジェクトの配列を返すために使われます。 データベース行のフェッチは処理速度が速くなりますが、エンタープライズオブジェクトのメリットをほとんど失うことになります。 デフォルト値は null であり、フェッチの結果としてオブジェクトを返します。 空の配列の場合は設定されたエンティティに対してフェッチします。 このときフェッチする属性は attributesToFetch メソッドによって決まります。 主キー属性が(戻り値の)データベース属性に含まれる限り、 データベース行はEOEditingContextの faultForRawRow メソッドでフォールトを生成するのに使われる可能性があります。

Parameters:
keyPaths - データベース行をフェッチするための属性キーパスの配列
See Also:
rawRowKeyPaths(), setFetchesRawRows(boolean), EOEditingContext.faultForRawRow(NSDictionary, String), EOEditingContext.faultForRawRow(NSDictionary, String, EOEditingContext)

setRefreshesRefetchedObjects

public void setRefreshesRefetchedObjects(boolean refreshes)

既存のオブジェクトに更新・変更があったとき、フェッチした値で上書きするかどうかを設定します。 refreshestrue なら上書きしますが、 refreshesfalse であれば上書きしません(フェッチしたデータは破棄されます)。 デフォルト値は false です。

例えば、従業員オブジェクトをフェッチ・再フェッチし、フェッチするまで何も変更しなかったと仮定します。 このような場合、最初にフェッチしてから再度フェッチするまでの間に、他のアプリケーションからオブジェクトが更新された可能性があり、従業員オブジェクトをリフレッシュしたいでしょう。 このオブジェクトを外部リポジトリのデータと同期しておくには、オブジェクトの古い値を新しい値と置き換える必要があります。 それとは反対に、オブジェクトをフェッチし、変更し、再フェッチしたときなど、オブジェクトをリフレッシュしないでほしいこともあるでしょう。 他のアプリケーションが従業員オブジェクトを変更したかどうかに関わらず、リフレッシュするとオブジェクトに加えた変更を失うことになります。

EODatabaseContextのデリゲートメソッド databaseContextShouldUpdateCurrentSnapshot を使うと、リフレッシュに関してEOFetchSpecificationよりもきめ細かく操作できます。

Parameters:
refreshes - 既存のオブジェクトをフェッチした値で上書きするなら true を、そうでなければ false
See Also:
refreshesRefetchedObjects(), EODatabaseContext, EODatabaseContext.Delegate

setRequiresAllQualifierBindingVariables

public void setRequiresAllQualifierBindingVariables(boolean requires)
バインディングが見つからず、代替変数を決定する間の挙動を設定します。 requirestrue のときにバインディングが見つからない場合、代替変数を決定する間に発生した例外をそのまま投げます。 デフォルト値は false で、バインディングのないノードを切り詰めます。

Parameters:
requires - バインディングが見つからない場合に例外を発生させるならば true を、そうでなければ false

setSortOrderings

public void setSortOrderings(NSArray sortOrderings)
sortOrderingsをEOSortOrderingsの配列として設定します。 フェッチ時、フェッチ結果は配列中の各EOSortOrderingによってソートされます(EOSortOrderingは配列の先頭のものから順に使われます)。

Parameters:
sortOrderings - EOSortOrderingsの配列
See Also:
sortOrderings()

setUsesDistinct

public void setUsesDistinct(boolean usesDistinct)
フェッチ時に重複したレコードやオブジェクトを取り除くかどうかを設定します。 取り除くなら true を、取り除かないなら false を返します。 デフォルトでは重複を取り除きません(重複したまま返します)。

Parameters:
usesDistinct - 重複したレコードやオブジェクトを取り除くなら true 、そうでなければ false
See Also:
usesDistinct()

sortOrderings

public NSArray sortOrderings()
EOSortOrderingsの配列を返します。 フェッチ時、フェッチ結果は配列中の各EOSortOrderingによってソートされます(EOSortOrderingは配列の先頭のものから順に使われます)。

Returns:
EOSortOrderingsの配列を返します。
See Also:
setSortOrderings(NSArray)

toString

public String toString()
オブジェクトを文字列にして返します。

Returns:
オブジェクトを文字列にして返します。

usesDistinct

public boolean usesDistinct()
フェッチ時に重複したレコードやオブジェクトを取り除くなら true を、取り除かないなら false を返します。 デフォルトでは重複を取り除きません(重複したまま返します)。

Returns:
重複したレコードやオブジェクトを取り除くなら true を、そうでなければ false を返します。
See Also:
setUsesDistinct(boolean)

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

Copyright © 2004 Apple Computer, Inc.