| パッケージ | mx.data |
| public class DataService | |
| 継承 | DataService Object |
| 実装 | IEventDispatcher |
| Subclasses | DataService |
DataService は、必要な宛先を指定して作成します。宛先は services-config.xml ファイルから設定します。
指定したリモート宛先からデータを取得するメソッドとして、2 つの異なるメソッドセットがあります。1 つはコレクションを管理するためのオブジェクト用で、もう 1 つは SMO (Single Managed Object) 用です。
コレクションを管理するためのオブジェクトでは、DataService.fill() メソッドを使用します。このメソッドは、このサービスが管理するオブジェクトを ArrayCollection に設定します。
SMO を取得するには、DataService.getItem() および DataService.createItem() メソッドを使用します。
以前に設定した ArrayCollection が不要になったときや、そのコレクション内のアイテムで更新の受信や作成をしなくなったときは、DataService.releaseCollection() メソッドを呼び出します。
以前に DataService.getItem() または DataService.createItem() を使用して取得したアイテムが、不要になったときや、更新の受信や作成をしなくなったときは、DataService.releaseItem() メソッドを呼び出します。DataService.createItem() および DataService.getItem() メソッドは ItemReference を返します。このオブジェクトを使用して、SMO の特定のインスタンスを解放できます。DataService.releaseItem() メソッドとは異なり、ItemReference.releaseItem() を呼び出すと SMO の特定のインスタンスが解放されます。DataService.releaseItem() では、指定した ID と同じ ID を持つ SMO がデータサービスによって検索され、そのうち最初の SMO が解放されます。この動作は、DataService.getItem() および DataService.createItem() の呼び出しの数が DataService.releaseItem() の呼び出しの数と一致している限り、正常に処理されます。
リモート宛先への接続は、接続を必要とする任意のメソッドが初めて呼び出されるときに自動的に作成されます。たとえば、完了していない更新があるときに DataService.fill() メソッドや DataService.commit() 操作を呼び出すと、リモート宛先への接続の確立が試みられます。DataService で切断を強制するには、DataService.disconnect() メソッドを使用します。このメソッドを使用すると、不要になったリモート宛先のリソースをクリーンアップできます。他のサービスが同じ物理接続を使用している可能性があるため、DataService.disconnect() を呼び出すと接続が終了することがあります。
バインド可能プロパティ connected は、関連する DataService 接続の現在の状態を示します。
リモート宛先で操作のセキュリティ制限を宣言した場合は、証明書を提供する必要があります。証明書は DataService.setCredentials() 呼び出しで設定します。この呼び出しは、リモート宛先でログインコマンドに変わります。証明書を変更する場合や、現在のセッションを無効化する場合は、DataService.logout() を呼び出すことができます。DataService.logout() メソッドを呼び出すと、すべてのローカルの管理対象データが解放されます。これは DataService.release() を呼び出すことと等価です。
DataService はそれぞれ、mx.data.DataStore 型のオブジェクトを返す dataStore プロパティを持っています。このオブジェクトには、1 つまたは複数の DataService オブジェクトに対する未完了の変更が格納されます。複数の DataService が管理された関連付けプロパティを持ち、同じチャンネルセットを共有している場合、デフォルトでは DataService は同じ dataStore を他のデータサービスと共有します。DataStores を共有している場合、ある DataService に対して commit() メソッドを呼び出すと、そのデータストアを使用しているすべての DataService の変更が完了します。これにより、関連する DataService オブジェクト内の変更どうしの間に依存関係がある場合でも、操作の順序が維持されます。
DataService は、リモート呼び出しを必要とするすべての操作に対して、result イベントと fault イベントを送出します。
DataService では、任意の管理対象インスタンスのプロパティでデータバインディングを使用できます。また、DataService は、任意の管理対象オブジェクトに対してリモート操作が発生したときに "message" イベントを送出します。たとえば、ローカルの管理対象アイテムがリモートプロセスによって更新されると、そのアイテムを引き続き管理しているすべての DataService インスタンスに、メッセージがプッシュされます。このメッセージは MessageEvent.MESSAGE イベントとして送出されます。
リモート宛先で DataService によって完了した変更に応答したときに、または、ローカルの未完了の変更と競合する変更がプッシュされたために、競合が検出されると、conflict イベントが送出されます。これらの conflict イベントは DataConflictEvent.CONFLICT をリッスンすることによって処理できます。データバインディングを利用し、UI コントロールを DataService.conflicts.resolved プロパティにバインドすることによって、UI コントロールを更新できます。
DataService では、以下のデータ同期設定モードがサポートされています。
autoCommit - true の場合、個々の変更が検出されるとすぐにリモート宛先に送信されます。これが false の場合は、commit を明示的に呼び出す必要があります。バインド可能な DataService.commitRequired プロパティを使用すると、未完了の変更があるかどうかを調べることができます。
autoSyncEnabled - これは、fill、getItem、または createItem 呼び出しに影響を与え、管理対象インスタンスが、他のクライアントによる変更や、リモート宛先でのサーバープッシュ API を使用したこれらのオブジェクトに対する変更をリッスンするかどうかを決定します。autoMerge プロパティは、リモート宛先から受信した変更を、すぐに適用するか、または DataService.merge() が呼び出されるまでキューに格納するかを制御します。
DataService.revertChanges() メソッドは、特定のアイテムまたはすべてのアイテムに対する変更を取り消す場合に使用します。リモート宛先の操作でエラーが発生した場合は、データがリモート宛先のデータと同期したままになるように、完了した変更が未完了のキューに戻されます。変更がエラーになった場合は、通常は障害ハンドラの中で DataService.revertChanges() メソッドを呼び出し、これらの変更を取り消します。
mx.data.mxml.DataService クラスは mx.data.DataService の MXML 固有のサブクラスで、DataService のプロパティへのバインディングを可能にします。
MXML シンタックス
MXML シンタックスの非表示
<mx:DataService> タグでは、以下のタグ属性が使用できます。
<mx:DataService Properties autoCommit="true" autoSyncEnabled="true" autoMerge="true" conflictDetector="デフォルト値なし" dataStore="デフォルト値なし" destination="デフォルト値なし" pageSize="デフォルト値なし" id="デフォルト値なし" イベント conflict="デフォルト値なし" fault="デフォルト値なし" message="デフォルト値なし" propertyChange="デフォルト値なし" result="デフォルト値なし" />
関連項目
| プロパティ | 定義 | ||
|---|---|---|---|
| autoCommit : Boolean
バッファへの変更を自動的に完了するかどうかを示します。
| DataService | ||
autoMerge : Boolean
false に設定すると、リモート宛先からクライアントに変更がプッシュされたときに変更が即時には適用されなくなります。 | DataService | ||
| autoSyncEnabled : Boolean
true の場合、
fill()、createItem()、getItem() の各要求は、リモート宛先からこれらのアイテムに対して行われた更新をリッスンするアイテムを返します。 | DataService | ||
| commitRequired : Boolean
[read-only]
完了していない変更があり、
commit() メソッドを呼び出す必要があるかどうかを示します。 | DataService | ||
| conflictDetector : ConflictDetector
この DataService にプッシュされたリモート操作の競合を検出するために使用されている、現在の実装に対するアクセスを提供します。
| DataService | ||
| conflicts : Conflicts
[read-only]
Conflict インスタンスの ArrayList である Conflicts オブジェクトを返します。 | DataService | ||
| connected : Boolean
[read-only]
DataService がリモート宛先に接続されているかどうかを示します。
| DataService | ||
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
| dataStore : DataStore
mx.data.DataStore 型のオブジェクトを返します。
| DataService | ||
| destination : String
[read-only]
このサービスが関連付けられているリモート宛先を示します。
| DataService | ||
| mergeRequired : Boolean
[read-only]
結合が必要な保留中の変更があるかどうかを示します。
| DataService | ||
| pageSize : int
すべてのコレクションに対する現在のページサイズ設定へのアクセスを提供します。
| DataService | ||
| pagingEnabled : Boolean
[read-only]
リモート宛先がページング要求を許可するように設定されているかどうかを示します。
| DataService | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| requestTimeout : int
操作のタイムアウト時間 (秒単位) に対するアクセスを提供します。
| DataService | ||
| メソッド | 定義 | ||
|---|---|---|---|
| DataService(destination:String)
指定された宛先を持つ DataService のインスタンスを作成します。
| DataService | ||
| commit():AsyncToken
現在このサービスで管理されているすべてのコレクションで保留状態の変更をすべて完了します。
| DataService | ||
| count(... args):AsyncToken
リモート宛先に対して count メソッドを呼び出します。
| DataService | ||
| createItem(item:Object):ItemReference
指定したアイテムをリモートストアに作成することを要求します。
| DataService | ||
| deleteItem(item:Object):AsyncToken
指定したアイテムをリモートストアから削除することを要求します。
| DataService | ||
| disconnect():void
DataService のネットワーク接続を切断します。
| DataService | ||
| fill(value:ListCollectionView, ... args):AsyncToken
関連付けられている <fill-method> 要素に基づいて、指定された ListCollectionView を設定します。
| DataService | ||
| getItem(identity:Object, defaultValue:Object = null):ItemReference
指定した ID に一致するアイテムに対して非同期要求を行います。
| DataService | ||
| getPendingOperation(item:IManaged):uint
指定されたアイテムのメッセージキャッシュ中に保留されている操作を返します。
| DataService | ||
![]() | hasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() | isPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
| logout():void
ユーザーを DataService の宛先からログアウトします。
| DataService | ||
| merge():void
保留中の更新を管理対象のオブジェクトセットに結合します。
| DataService | ||
![]() | propertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
| Object | |
| release():void
DataService のすべての管理対象コレクションとアイテムを解放します。
| DataService | ||
| releaseCollection(view:ListCollectionView, clear:Boolean = false):void
指定したコレクション内のすべてのアイテムを、このサービスによる管理から解放します。
| DataService | ||
| releaseItem(item:IManaged, allowCopy:Boolean = true):IManaged
指定されたアイテムをこのサービスによる管理から解放します。
| DataService | ||
| revertChanges(item:IManaged = null):Boolean
指定したアイテムに対する完了していない変更をすべて元に戻します。
| DataService | ||
| setCredentials(username:String, password:String):void
この DataService の宛先に対して資格情報を設定します。
| DataService | ||
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
| setRemoteCredentials(username:String, password:String):void
この DataService の宛先のサードパーティの資格情報を設定します。
| DataService | ||
![]() | toString():String
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() | valueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
| Object | |
| イベント | 一覧 | 定義 | ||
|---|---|---|---|---|
| conflict |
DataConflictEvent.CONFLICT イベントが送出されるのは、保留中のローカルな変更の間または別のクライアントから送信された変更の間に競合が検出された場合か、このクライアントから送信された変更がリモート宛先での変更と競合している場合です。 | DataService | ||
| fault |
DataServiceFaultEvent.FAULT イベントは、サービス呼び出しがエラーで失敗した場合に送出されます。 | DataService | ||
| message |
MessageEvent.MESSAGE イベントは、リモート宛先がデータ操作の通知をプッシュするときに送出されます。 | DataService | ||
| propertyChange |
PropertyChangeEvent.PROPERTY_CHANGE イベントは、このサービスのプロパティが変更されたときに送出されます。 | DataService | ||
| result |
ResultEvent.RESULT イベントは、サービス呼び出しが正常に返るときに送出されます。 | DataService | ||
| autoCommit | プロパティ |
autoCommit:Boolean [read-write]バッファへの変更を自動的に完了するかどうかを示します。完了した変更は、すぐにリモートサービスに送信されます。
実装 public function get autoCommit():Boolean
public function set autoCommit(value:Boolean):void
| autoMerge | プロパティ |
autoMerge:Boolean [read-write]
false に設定すると、リモート宛先からクライアントに変更がプッシュされたときに変更が即時には適用されなくなります。代わりに、mergeRequired プロパティに true が設定されます。このプロパティに対して変更イベントをリッスンするためのイベントハンドラを登録することで、結合を適用する必要があるときに通知を受け取ることができます。変更を結合するには、merge() メソッドを呼び出します。これにより、すべての変更が適用されます。結合が必要な変更があると、未完了の変更を完了することはできません。ページングが有効になっていると、ローカルでないアイテムに対するすべての要求は、merge() が呼び出されるまでキャッシュされます。merge() を呼び出すと、キャッシュされていた要求が処理されます。
public function get autoMerge():Boolean
public function set autoMerge(value:Boolean):void
| autoSyncEnabled | プロパティ |
autoSyncEnabled:Boolean [read-write]
true の場合、fill()、createItem()、getItem() の各要求は、リモート宛先からこれらのアイテムに対して行われた更新をリッスンするアイテムを返します。このプロパティ値が変更されると、これらのメソッドに対する将来の呼び出しに影響を与えますが、既存のコレクションまたはアイテムには影響を与えません。また、autoSyncEnabled を使用して取得されたコレクションと autoSyncEnabled を使用せずに設定されたコレクションとが混在する場合でも、両方のコレクションに出現する任意のアイテムで更新イベントを受信します。
public function get autoSyncEnabled():Boolean
public function set autoSyncEnabled(value:Boolean):void
| commitRequired | プロパティ |
commitRequired:Boolean [read-only]
完了していない変更があり、commit() メソッドを呼び出す必要があるかどうかを示します。このプロパティが変更されると、イベントが送出されます。このプロパティをアプリケーション内で使用し、視覚的なフィードバックを提供することができます。
このプロパティはデータバインディングのソースとして使用できます。
実装 public function get commitRequired():Boolean
| conflictDetector | プロパティ |
conflictDetector:ConflictDetector [read-write]この DataService にプッシュされたリモート操作の競合を検出するために使用されている、現在の実装に対するアクセスを提供します。
実装 public function get conflictDetector():ConflictDetector
public function set conflictDetector(value:ConflictDetector):void
| conflicts | プロパティ |
conflicts:Conflicts [read-only]
Conflict インスタンスの ArrayList である Conflicts オブジェクトを返します。競合は、commit() を呼び出す前に解決する必要があります。競合を解決するには、個々の競合を 1 つずつ解決するか、このプロパティに対して acceptAllClient() メソッドまたは acceptAllServer() メソッドを呼び出します。
public function get conflicts():Conflicts
| connected | プロパティ |
connected:Boolean [read-only]DataService がリモート宛先に接続されているかどうかを示します。
このプロパティはデータバインディングのソースとして使用できます。
実装 public function get connected():Boolean
| dataStore | プロパティ |
dataStore:DataStore [read-write]mx.data.DataStore 型のオブジェクトを返します。DataStore は、1 つまたは複数の DataService に対して受信する変更と送信する変更のセットを管理します。DataService は相互に参照し合っていることがあります。DataStore 上で変更を完了すると、その DataStore を使用している各 DataService の保留状態の変更がすべて完了します。複数の DataService が管理された関連付けプロパティを持ち、同じチャンネルセットを共有している場合、デフォルトでは DataService は同じ DataStore を他の DataService と共有します。DataStores を共有している場合、ある DataService に対して 完了メソッドを呼び出すと、そのデータストアを使用しているすべての DataService の変更が完了します。完了していないバッチによる変更の間に依存関係がある場合に備え、操作の順序が維持されます。
このプロパティはデータバインディングのソースとして使用できます。
実装 public function get dataStore():DataStore
public function set dataStore(value:DataStore):void
| destination | プロパティ |
destination:String [read-only]このサービスが関連付けられているリモート宛先を示します。
実装 public function get destination():String
| mergeRequired | プロパティ |
mergeRequired:Boolean [read-only]結合が必要な保留中の変更があるかどうかを示します。
このプロパティはデータバインディングのソースとして使用できます。
実装 public function get mergeRequired():Boolean
| pageSize | プロパティ |
pageSize:int [read-write]すべてのコレクションに対する現在のページサイズ設定へのアクセスを提供します。
実装 public function get pageSize():int
public function set pageSize(value:int):void
| pagingEnabled | プロパティ |
pagingEnabled:Boolean [read-only]リモート宛先がページング要求を許可するように設定されているかどうかを示します。
実装 public function get pagingEnabled():Boolean
| requestTimeout | プロパティ |
requestTimeout:int [read-write]操作のタイムアウト時間 (秒単位) に対するアクセスを提供します。ゼロ以下の値を設定すると、要求はタイムアウトになりません。requestTimeout の制限に達したことにより現在の操作がタイムアウトになると、その操作に関して、要求がタイムアウトになったことを示すフォルトが送出されます。
実装 public function get requestTimeout():int
public function set requestTimeout(value:int):void
| DataService | () | コンストラクタ |
public 関数 DataService(destination:String)指定された宛先を持つ DataService のインスタンスを作成します。宛先は、services-config.xml ファイルで設定された宛先に対する参照であることが必要です。
パラメータdestination:String — 目的の宛先の名前が格納されます。
|
| commit | () | メソッド |
public function commit():AsyncToken
現在このサービスで管理されているすべてのコレクションで保留状態の変更をすべて完了します。autoCommit プロパティが true の場合、トランザクションは使用されません。トランザクションを使用するには、autoCommit プロパティに false を設定し、このメソッドを直接呼び出します。
AsyncToken —
ResultEvent.RESULT または FaultEvent.FAULT の callプロパティで返される AsyncToken です。カスタムデータをこのオブジェクトに関連付け、後からイベント処理フェーズで調べることができます。
|
| count | () | メソッド |
public function count(... args):AsyncToken
リモート宛先に対して count メソッドを呼び出します。呼び出される count メソッドは、関連付けられている <count-method> タグと渡されたパラメータに基づきます。たとえば、count("firstName", "Bob") を呼び出した場合を考えます。関連付けられている宛先の services-config.xml 中に、<count-method> タグが存在するか参照されているとします。
<count-method>
<name>getCount</name>
<params>java.lang.String,java.lang.String</params>
<security-run-as name="freddie" password="nightmare" />
</count-method>
<count-method>
<name>getCount</name>
<security-constraint ref="sample-users" />
</count-method>
run-as セキュリティ設定のある最初の <count-method> は、2 つのパラメータを含んでおり、<params> タグの型と個数が一致します。このため、この <count-method> が呼び出されます。
パラメータ
... args — リモート宛先に渡すパラメータのリストです。
|
AsyncToken —
ResultEvent.RESULT または FaultEvent.FAULT の call プロパティで返されるオブジェクトです。カスタムデータをこのオブジェクトに関連付け、後からイベント処理フェーズで調べることができます。
|
関連項目
| createItem | () | メソッド |
public function createItem(item:Object):ItemReference
指定したアイテムをリモートストアに作成することを要求します。エラーが発生すると、DataConflictEvent が送出されます。
item:Object — リモートストアに作成するオブジェクトです。
|
ItemReference —
ItemReference (AsyncToken を拡張します)。この参照は、ResultEvent.RESULT または FaultEvent.FAULT の token プロパティで返されます。カスタムデータをこのオブジェクトに関連付け、後からイベント処理フェーズで調べることができます。このオブジェクトの result プロパティはバインド可能で、返されたアイテムをバインドするために使用できます。アイテムが別のクライアントによって削除された場合、この結果のオブジェクトには null が設定されます。アプリケーションで ItemReference オブジェクトを保持する場合は、アイテムに対するこの参照を使い終えた時点で ItemReference の releaseItem() メソッドを呼び出す必要があります。ItemReference を保持しない場合は、DataService に対して releaseItem() メソッドを実行することができます。このメソッドは、解放するアイテム自体のインスタンスを受け取ります。
|
| deleteItem | () | メソッド |
public function deleteItem(item:Object):AsyncToken
指定したアイテムをリモートストアから削除することを要求します。エラーが発生すると、DataConflictEvent が送出されます。
item:Object — リモートストアから削除するオブジェクトです。
|
AsyncToken —
ResultEvent.RESULT または FaultEvent.FAULT の token プロパティで返される AsyncToken です。カスタムデータをこのオブジェクトに関連付け、後からイベント処理フェーズで調べることができます。
|
| disconnect | () | メソッド |
public function disconnect():voidDataService のネットワーク接続を切断します。このメソッドは、未処理のネットワーク操作が完了するまで待つことはしません。
| fill | () | メソッド |
public function fill(value:ListCollectionView, ... args):AsyncToken関連付けられている <fill-method> 要素に基づいて、指定された ListCollectionView を設定します。たとえば、以下の <fill-method> 要素が存在するか、関連付けられている宛先の services-config.xml で参照されているとします。
<fill-method>
<name>loadPersons</name>
<params>java.lang.String,java.lang.String</params>
<security-run-as name="freddie" password="nightmare" />
</fill-method>
<fill-method>
<name>loadPersons</name>
<security-constraint ref="sample-users" />
</fill-method>
この場合、fill(myCollection, ["firstName", "Bob"]) を呼び出すと、<params> タグの型と個数が一致する 2 つのパラメータが含まれているため、run-as セキュリティ設定がある最初の <fill-method> が呼び出されます。同様に、fill(myCollection) を呼び出すと、<params> タグが含まれていない 2 番目の <fill-method> タグが呼び出されます。保留中の変更やデータは、fill の呼び出しの中でクリアされます。
パラメータ
value:ListCollectionView — 指定したパラメータで塗り潰すコレクションへの参照です。
|
|
... args — rest: リモート宛先に渡すパラメータの配列変数リストです。
|
AsyncToken —
ResultEvent.RESULT または FaultEvent.FAULT の call プロパティで返されるオブジェクトです。カスタムデータをこのオブジェクトに関連付け、後からイベント処理フェーズで調べることができます。
|
| getItem | () | メソッド |
public function getItem(identity:Object, defaultValue:Object = null):ItemReference
指定した ID に一致するアイテムに対して非同期要求を行います。defaultValue を指定し、アイテムが存在しないと、defaultValue の情報を使用してアイテムが作成されます。このメソッドは ItemReference を返します。getItem() メソッド呼び出しから有効なインスタンスを受け取ったら、releaseItem() メソッドを呼び出してアイテムのインスタンスを解放する必要があります。ItemReference を保持する場合は、参照に対して releaseItem() メソッドを呼び出し、正しい参照を確実に解放してください。これは、同じアイテムに対してクライアントが複数の getItem() メソッド呼び出しを行っていた場合に備えてのことです。ItemReference を保持しない場合は、DataService の releaseItem() メソッドを、アイテム自体を指定して呼び出すことができます。
identity:Object — 目的のオブジェクトの ID プロパティが格納されたオブジェクトです。
|
|
defaultValue:Object (default = null) — インスタンスが存在しない場合に作成される、デフォルト値を持ったインスタンスです。
|
ItemReference —
取得するアイテムの ItemReference です。ItemReference は AsyncToken を拡張するため、これを使用して、アイテムが取得された場合やこの呼び出しが障害になった場合に通知を受け取ることができます。ItemReference は、DataService オブジェクトに対してイベントをリッスンしている場合、ResultEvent.RESULT または FaultEvent.FAULT の token プロパティとして返されます。カスタムデータをこのオブジェクトに関連付け、後からイベント処理フェーズで調べることができます。データバインディングを使用して ItemReference の result プロパティにバインドすることができます。アイテムがリモート宛先から値を設定されバインド可能な場合、このプロパティに有効な値が設定されます。そのため、ユーザーインターフェイスコントロールを ItemReference の result プロパティにバインドすることができます。アイテムがサーバーまたは別のクライアントから削除された場合、この参照には null が設定されます。ItemReference には invalid プロパティもあります。アイテムを返す際にエラーになったか、アイテムに対してサーバーが null を返すと、このプロパティに true が設定されます。
|
| getPendingOperation | () | メソッド |
public function getPendingOperation(item:IManaged):uint指定されたアイテムのメッセージキャッシュ中に保留されている操作を返します。このメソッドは、アイテムに対してどのような種類の変更が行われたかをユーザーに視覚的にフィードバックするために使用します。
パラメータitem:IManaged — 検査の基準です。
|
uint —
実行された保留中の操作を示す uint です。アイテムに対して有効な操作は以下のとおりです。
|
| logout | () | メソッド |
public function logout():voidユーザーを DataService の宛先からログアウトします。宛先からのログアウトは、サーバー設定で指定されているものと同じ ChannelSet を使用して接続されているあらゆるものに適用されます。たとえば、my-rtmp チャンネル上で接続しており、DataService インスタンスの 1 つを使用してログアウトすると、同じ ChannelSet 上で接続していたあらゆるユーザーがログアウトされます。
| merge | () | メソッド |
public function merge():void保留中の更新を管理対象のオブジェクトセットに結合します。変更を結合する処理で競合が検出され、保留中のアイテム要求がすべて処理されます。これによって、この同じデータストアを共有している他のすべての DataService インスタンスのすべてのメッセージが結合されます。
| release | () | メソッド |
| releaseCollection | () | メソッド |
public function releaseCollection(view:ListCollectionView, clear:Boolean = false):void指定したコレクション内のすべてのアイテムを、このサービスによる管理から解放します。アイテムが複数のコレクションに存在する場合は、アイテムのコピーが作成されます。このコレクションだけに存在するアイテムに対する完了していない変更は、削除、作成、更新を含め、すべて解放されます。
パラメータview:ListCollectionView — これ以上リモート更新を受け取らない ListCollectionView の参照です。
|
|
clear:Boolean (default = false) — すべてのアイテムをリストから削除するかどうかを示すブール値です。また、どのアイテムのコピーも作成されません。
|
| releaseItem | () | メソッド |
public function releaseItem(item:IManaged, allowCopy:Boolean = true):IManaged
指定されたアイテムをこのサービスによる管理から解放します。ItemReferences を保持する場合は、ItemReference に対して releaseItem() メソッドを呼び出し、正しい参照を確実に解放してください。これは、クライアントアプリケーションの異なる部分から getItem を複数回呼び出し、同じアイテムを取得していた場合に備えてのことです。
この呼び出しによって、ネストしたプロパティを含め、関連付けられているすべてのリソースが解放されます。指定されたアイテムはリモート宛先からの更新は受け取らなくなります。また、このアイテムに対して完了していない変更があり、他のコレクションに現れない場合は、これらの変更も解放されます。指定されたアイテムが複数のコレクションに存在する場合は、allowCopy パラメータに false を設定しない限り、返される値は元のコピーとなります。
item:IManaged — 解放するアイテムへの IManaged 参照です。
|
|
allowCopy:Boolean (default = true) — オプションのパラメータで、デフォルトは true です。true の場合、アイテムが別の管理されている参照で使用されていると、アイテムのコピーが作成されます。false を設定することもできますが、他の参照によって管理されていた場合は、オブジェクトはサーバーから引き続き更新される可能性があることを意味します。
|
IManaged —
解放されたアイテム。allowCopy=false の場合はコピーとなり、アイテムは別の参照によって管理されています。
|
| revertChanges | () | メソッド |
public function revertChanges(item:IManaged = null):Boolean指定したアイテムに対する完了していない変更をすべて元に戻します。アイテムを指定しないと、完了していない変更がすべて取り消されます。作成操作を取り消すと、アイテムが削除されます。削除を取り消すと、アイテムが復元されます。更新を取り消すと、変更を開始する前のアイテムの元のプロパティに戻ります。
このメソッドを使用する 1 つの状況は、障害が発生した後です。その場合、失敗した変更は未完了変更リストに戻されます。その時点で、これらの変更を修正して問題を解決するか、このメソッドを使用してこれらの変更が再度送信されないようにします。
アイテムが指定され、そのアイテムが変更されていない場合は、このメソッドは false を返します。アイテムが指定されず、変更がない場合は、このメソッドは false を返します。それ以外の場合は、true を返します。
パラメータitem:IManaged (default = null) — 変更を取り消す対象となる参照です。すべての変更を取り消す場合は null を指定します。
|
Boolean —
変更が取り消されたかどうかを示すブール値です。
|
| setCredentials | () | メソッド |
public function setCredentials(username:String, password:String):voidこの DataService の宛先に対して資格情報を設定します。証明書は、同じ ChannelSet 上で接続されているすべてのサービスに適用されます。
パラメータusername:String — 宛先のユーザー名です。
|
|
password:String — 宛先のパスワードです。
|
| setRemoteCredentials | () | メソッド |
public function setRemoteCredentials(username:String, password:String):voidこの DataService の宛先のサードパーティの資格情報を設定します。
パラメータusername:String — 宛先のユーザー名です。
|
|
password:String — 宛先のパスワードです。
|
| conflict | event |
mx.data.events.DataConflictEvent
mx.data.events.DataConflictEvent.CONFLICT
DataConflictEvent.CONFLICT イベントが送出されるのは、保留中のローカルな変更の間または別のクライアントから送信された変更の間に競合が検出された場合か、このクライアントから送信された変更がリモート宛先での変更と競合している場合です。各 DataService は、この特定の宛先のアイテムに対してだけ競合イベントを送信します。関連する宛先の競合を同時に複数処理する必要がある場合は、DataService に対する競合イベントを使用してください。
CONFLICT イベント型。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
conflict | 発生した競合を保持する Conflict オブジェクトです。 |
message | このイベントに関連付けられたメッセージ。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
| fault | event |
mx.data.events.DataServiceFaultEvent
mx.data.events.DataServiceFaultEvent.FAULT
DataServiceFaultEvent.FAULT イベントは、サービス呼び出しがエラーで失敗した場合に送出されます。たとえば、fill() メソッドの呼び出しが失敗するとこのイベントが送出されます。完了の結果としてエラーを生成するアイテムでもこのイベントが送出されます。この場合、DataServiceFaultEvent には完了によって返されるトークンが格納されますが、障害のアイテムとエラーメッセージストリングは、エラーの原因となったアイテムに固有です。
FAULT イベントタイプです。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | true。関連付けられたトークンの responder.fault メソッドから preventDefault() を呼び出すと、サービスまたは処理がこのイベントを送出しなくなります。 |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
fault | 発生した競合を保持する Fault オブジェクト。 |
item | フォルトが発生したアイテムです。 |
item | フォルトが発生した項目の ID です。 |
message | このイベントに関連付けられたメッセージ。 |
token | メソッドの呼び出しを表すトークン。Asynchronous Completion Token パターンで使用されます。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
| message | event |
mx.messaging.events.MessageEvent
mx.messaging.events.MessageEvent.MESSAGE
MessageEvent.MESSAGE イベントは、リモート宛先がデータ操作の通知をプッシュするときに送出されます。たとえば、リモート宛先でデータが更新されると、リッスン中のすべてのクライアントに更新操作が送信され、この操作はこの DataService に対するメッセージイベントに変換されます。
MESSAGE イベント型。メッセージの受信時に送出されます。
この定数の値は "message" です。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
message | このイベントに関連付けられたメッセージです。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
| propertyChange | event |
mx.events.PropertyChangeEvent
mx.events.PropertyChangeEvent.PROPERTY_CHANGE
PropertyChangeEvent.PROPERTY_CHANGE イベントは、このサービスのプロパティが変更されたときに送出されます。以下のプロパティで起こります。
commitRequiredmergeRequiredconnected
PropertyChangeEvent.PROPERTY_CHANGE 定数により、PropertyChange イベントのイベントオブジェクトの type プロパティ値が定義されます。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | コンストラクタによって決定されます。デフォルトは false です。 |
cancelable | コンストラクタによって決定されます。デフォルトは false です。 |
kind | 変更の種類。PropertyChangeEventKind.UPDATE または PropertyChangeEventKind.DELETE のいずれかです。 |
oldValue | 元のプロパティの値です。 |
newValue | 新しいプロパティの値 (存在する場合) です。 |
property | 変更されたプロパティです。 |
source | 変更されたプロパティを含むオブジェクトです。 |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
| result | event |
mx.rpc.events.ResultEvent
mx.rpc.events.ResultEvent.RESULT
ResultEvent.RESULT イベントは、サービス呼び出しが正常に返るときに送出されます。たとえば、fill() の呼び出しが成功するとこのイベントが送出されます。
RESULT イベントタイプです。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | true。関連付けられたトークンの responder.result メソッドから preventDefault() を呼び出すと、サービスまたは処理がこのイベントを送出しなくなります。 |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
message | このイベントに関連付けられたメッセージ。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
result | RPC 呼び出しが返す結果です。 |
token | メソッドの個々の呼び出しを表すトークン。Asynchronous Completion Token パターンで使用されます。 |