(Adobe® Flex™ Data Services 2 のみ)
パッケージmx.data
public class DataStore
継承DataStore Inheritance EventDispatcher Inheritance Object

DataStore は、DataService インスタンスに対するトランザクションをバッチ処理します。DataStore は、サーバー宛の保留されている変更を管理し、サーバーから受信した競合を保存します。デフォルトでは、DataService が管理対象の関連付けを持っていないと、固有の DataStore が自動的に作成されます。commit() メソッドを呼び出すと、その DataService に対して行われた変更だけが送信されます。

管理対象の関連付けを使用する場合は、デフォルトが変更され、同じチャネルセットを共有し、use-transactions フラグの値が同じすべての DataService インスタンスが、同じ DataStore を共有するようになります。DataStore を共有している場合は、commit() メソッドを一度呼び出すだけで、その DataStore を共有しているすべての DataService インスタンスが行ったすべての変更が対象になります。デフォルトが変更されるのは、管理対象の関連付けがあると、複数の宛先の変更の間に依存関係があり、メッセージをサーバーに送信する際に、クライアント上での操作の順序を維持するのが重要な場合があるためです。

デフォルトを変更する場合は、独自の DataStore を作成し、DataService の dataStore プロパティに手動で割り当てます。これは、最初に DataService を初期化したときに、fill や getItem など、他の DataService API を呼び出す前に実行します。同じ DataStore を共有するすべての DataServices は、同じチャネルセットを使用し、use-transactions フラグの値が同じである必要があります。

関連項目

分散データアプリケーションの作成


パブリックプロパティ
 プロパティ定義
  autoCommit : Boolean
true を設定すると、DataService によって管理される状態を変更する操作は、すぐに完了します。
DataStore
  autoMerge : Boolean
false を設定すると、サーバーからクライアントに変更がプッシュされたとき、変更は自動的に適用されません。
DataStore
  commitRequired : Boolean
[read-only] 完了が必要な保留中の更新があるかどうかを示します。
DataStore
  conflicts : Conflicts
[read-only] すべての管理対象アイテムに対する競合のリストを返します。
DataStore
  connected : Boolean
[read-only] DataStore が接続されているかどうかを示します。
DataStore
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  mergeRequired : Boolean
[read-only] 結合が必要な保留中の変更があるかどうかを示します。
DataStore
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  requestTimeout : int
操作のタイムアウト時間 (秒単位) に対するアクセスを提供します。
DataStore
パブリック Methods
 メソッド定義
  
DataStore(destination:String, useTransactions:Boolean)
通常 DataStore は自動的に作成されますが、独自の DataStore を作成して DataService の dataStore プロパティに割り当てることもできます。
DataStore
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
リスナーがイベントの通知を受け取るように、イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録します。
EventDispatcher
  
現在この DataService で管理されているすべてのコレクションで保留状態の変更を完了します。
DataStore
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
指定されたプロパティがオブジェクトに定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
保留中の更新を管理対象のオブジェクトセットに結合します。
DataStore
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
  
この DataStore で管理されているすべての DataServices に対する、保留中でまだ完了していない変更をすべて取り消します。
DataStore
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント一覧定義
 Inherited Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
   このクライアント上で保留中の変更と、別のクライアントによって送信された変更の間に競合が検出された場合か、このクライアントが送信した変更がリモート宛先上で競合エラーになった場合に送出されます。DataStore
 Inherited Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
   FaultEvent.FAULT イベントは、commit 呼び出しがエラーを返すときに送出されます。DataStore
   ResultEvent.RESULT イベントは、commit 呼び出しが正常に返るときに送出されます。DataStore
プロパティの詳細
autoCommitプロパティ
autoCommit:Boolean  [read-write]

true を設定すると、DataService によって管理される状態を変更する操作は、すぐに完了します。false を設定すると、変更をサーバーに送信するには commit() メソッドを明示的に呼び出す必要があります。

実装
    public function get autoCommit():Boolean
    public function set autoCommit(value:Boolean):void
autoMergeプロパティ 
autoMerge:Boolean  [read-write]

false を設定すると、サーバーからクライアントに変更がプッシュされたとき、変更は自動的に適用されません。代わりに、mergeRequired プロパティに true が設定されます。このプロパティに対して変更イベントをリッスンすることで、結合を適用する必要があるときに通知を受け取ることができます。変更を結合するには、merge() メソッドを呼び出します。これにより、すべての変更が適用されます。結合が必要な変更があると、変更を完了することはできません。

実装
    public function get autoMerge():Boolean
    public function set autoMerge(value:Boolean):void
commitRequiredプロパティ 
commitRequired:Boolean  [read-only]

完了が必要な保留中の更新があるかどうかを示します。

このプロパティはデータバインディングのソースとして使用できます。

実装
    public function get commitRequired():Boolean
conflictsプロパティ 
conflicts:Conflicts  [read-only]

すべての管理対象アイテムに対する競合のリストを返します。

このプロパティはデータバインディングのソースとして使用できます。

実装
    public function get conflicts():Conflicts
connectedプロパティ 
connected:Boolean  [read-only]

DataStore が接続されているかどうかを示します。

実装
    public function get connected():Boolean
mergeRequiredプロパティ 
mergeRequired:Boolean  [read-only]

結合が必要な保留中の変更があるかどうかを示します。

このプロパティはデータバインディングのソースとして使用できます。

実装
    public function get mergeRequired():Boolean
requestTimeoutプロパティ 
requestTimeout:int  [read-write]

操作のタイムアウト時間 (秒単位) に対するアクセスを提供します。ゼロ以下の値を設定すると、要求はタイムアウトになりません。

実装
    public function get requestTimeout():int
    public function set requestTimeout(value:int):void
コンストラクタの詳細
DataStore()コンストラクタ
public 関数 DataStore(destination:String, useTransactions:Boolean)

通常 DataStore は自動的に作成されますが、独自の DataStore を作成して DataService の dataStore プロパティに割り当てることもできます。そのためには、同じデータストアを共有するすべてのデータサービスが同じチャネルセットを使用し、use-transactions 設定の値が同じであることが必要です。DataStore を作成するにはこのコンストラクタを使用します。宛先パラメータには、このデータストアを使用している DataServices の 1 つを指定します。これは、チャネルセットを検索するためだけに使用されます。また、このデータストアの use-transactions フラグの値を指定する必要があります。

パラメータ
destination:String
 
useTransactions:Boolean
メソッドの詳細
commit()メソッド
public function commit():AsyncToken

現在この DataService で管理されているすべてのコレクションで保留状態の変更を完了します。autoCommit プロパティが true の場合、トランザクションは使用されません。トランザクションを使用するには、autoCommit プロパティに false を設定し、このメソッドを直接呼び出します。

戻り値
AsyncTokenResultEvent.RESULT または FaultEvent.FAULTcall プロパティで返されるオブジェクトです。カスタムデータをこのオブジェクトに関連付け、後からイベント処理フェーズで調べることができます。
merge()メソッド 
public function merge():void

保留中の更新を管理対象のオブジェクトセットに結合します。変更を結合する処理で競合が検出されることがあります。

revertChanges()メソッド 
public function revertChanges():Boolean

この DataStore で管理されているすべての DataServices に対する、保留中でまだ完了していない変更をすべて取り消します。

戻り値
Boolean — 変更が取り消された場合は true になります。
イベントの詳細
conflictevent 
イベントオブジェクトの型: mx.data.events.DataConflictEvent
DataConflictEvent.type property = mx.data.events.DataConflictEvent.CONFLICT

このクライアント上で保留中の変更と、別のクライアントによって送信された変更の間に競合が検出された場合か、このクライアントが送信した変更がリモート宛先上で競合エラーになった場合に送出されます。DataStore は、DataStore を共有するすべての宛先に対して競合イベントを送出します。また、DataService に対して特定の種類の競合イベントをリッスンすることもできます。関連付けを持つオブジェクトがある場合は DataStore を使用してください。その理由は、これら関連付けの間の整合性を維持するために、特定の順序で競合を解決する必要があることが考えられるためです。

CONFLICT イベント型。

イベントオブジェクトの各プロパティには次の値が設定されています。

プロパティ
bubblesfalse
cancelablefalse
currentTargetイベント処理を行うイベントリスナーの定義用オブジェクトを表します。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。
conflict 発生した競合を保持する Conflict オブジェクトです。
message このイベントに関連付けられたメッセージ。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトにアクセスするには、currentTarget プロパティを使用します。
faultevent  
イベントオブジェクトの型: mx.rpc.events.FaultEvent
FaultEvent.type property = mx.rpc.events.FaultEvent.FAULT

FaultEvent.FAULT イベントは、commit 呼び出しがエラーを返すときに送出されます。

FAULT イベントタイプです。

イベントオブジェクトの各プロパティには次の値が設定されています。

プロパティ
bubblesfalse
cancelabletrue。関連付けられたトークンの responder.fault メソッドから preventDefault() を呼び出すと、サービスまたは処理がこのイベントを送出しなくなります。
currentTargetイベント処理を行うイベントリスナーの定義用オブジェクトを表します。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。
faultこのイベントの原因についての詳細が含まれる Fault オブジェクトです。
messageこのイベントに関連付けられたメッセージ。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトにアクセスするには、currentTarget プロパティを使用します。
tokenメソッドの呼び出しを表すトークン。Asynchronous Completion Token パターンで使用されます。
resultevent  
イベントオブジェクトの型: mx.rpc.events.ResultEvent
ResultEvent.type property = mx.rpc.events.ResultEvent.RESULT

ResultEvent.RESULT イベントは、commit 呼び出しが正常に返るときに送出されます。

RESULT イベントタイプです。

イベントオブジェクトの各プロパティには次の値が設定されています。

プロパティ
bubblesfalse
cancelabletrue。関連付けられたトークンの responder.result メソッドから preventDefault() を呼び出すと、サービスまたは処理がこのイベントを送出しなくなります。
currentTargetイベント処理を行うイベントリスナーの定義用オブジェクトを表します。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。
message このイベントに関連付けられたメッセージ。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトにアクセスするには、currentTarget プロパティを使用します。
resultRPC 呼び出しが返す結果です。
tokenメソッドの個々の呼び出しを表すトークン。Asynchronous Completion Token パターンで使用されます。