(Flex Data Services のみ)
パッケージ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
パブリックメソッド
 メソッド定義
  DataStore(destination:String, useTransactions:Boolean)
通常 DataStore は自動的に作成されますが、独自の DataStore を作成して DataService の dataStore プロパティに割り当てることもできます。
DataStore
 InheritedaddEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
  commit():AsyncToken
現在この DataService で管理されているすべてのコレクションで保留状態の変更を完了します。
DataStore
 InheriteddispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
EventDispatcher
 InheritedhasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 InheritedhasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 InheritedisPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  merge():void
保留中の更新を管理対象のオブジェクトセットに結合します。
DataStore
 InheritedpropertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
Object
 InheritedremoveEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
  revertChanges():Boolean
この DataStore で管理されているすべての DataServices に対する、保留中でまだ完了していない変更をすべて取り消します。
DataStore
 InheritedsetPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 InheritedtoString():String
指定されたオブジェクトのストリング表現を返します。
Object
 InheritedvalueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
Object
 InheritedwillTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント一覧定義
  conflict このクライアント上で保留中の変更と、別のクライアントによって送信された変更の間に競合が検出された場合か、このクライアントが送信した変更がリモート宛先上で競合エラーになった場合に送出されます。DataStore
  fault FaultEvent.FAULT イベントは、commit 呼び出しがエラーを返すときに送出されます。DataStore
  result 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 パターンで使用されます。