Packagejp.co.fujitsu.reffi.client.flex.model.rpc
Classpublic class RPCCore
InheritanceRPCCore Inheritance BaseModel Inheritance flash.events.EventDispatcher
Subclasses HTTPServiceCore, RemoteObjectCore, RPCControllerClientCore, WebServiceCore

[概 要]

HTTP経由でRPC呼び出しを行う機能モデルの基底抽象モデルクラスです.

[詳 細]

各種RPC通信クラスはこのクラスを継承して通信オブジェクト実体の生成、 通信成功、通信失敗ハンドラの実装を行います。 実装クラスのHTTPServiceCore、WebServiceCoreでは、 このクラスで定義されている返却フォーマットを設定することで、 レスポンスデータの型を指定することが出来ます。 OBJECTがresultFormatとして指定されていると、ActionScriptとJavaの間でデータ型変換が行われます。 ActionScriptとJavaの型変換については下記関連項目サイトを参照して下さい。

[備 考]

Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.

See also

http://www.adobe.com/livedocs/flex/201_jp/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=ent_services_config_097_08.html
jp.co.fujitsu.reffi.client.flex.model.rpc.HTTPServiceCore
jp.co.fujitsu.reffi.client.flex.model.rpc.WebServiceCore


Public Properties
 PropertyDefined By
  asyncToken : Object
[概 要] 非同期通信トークンです.
RPCCore
  cache : Dictionary
[static] [概 要] static通信オブジェクトキャッシュプロパティです.
RPCCore
  cacheMode : Boolean
[概 要] 通信先が同じであれば各種通信オブジェクトをキャッシュします.
RPCCore
 Inheritedcontroller : BaseController
[概 要] このモデルを起動したコントローラインスタンスです.
BaseModel
 InheritedexecuteIndex : int
[概 要] 実行インデックス設定.
BaseModel
 InheritedparameterMapping : ParameterMapping
[概 要] MVC各レイヤを伝播するパラメータオブジェクトです.
BaseModel
  service : IEventDispatcher
[概 要] 継承先で定義される、各種通信オブジェクトのI/Fです.
RPCCore
 Inheritedskip : Boolean
[概 要] このモデルを実行するか、コントローラが判断する為のフラグです.
BaseModel
 InheritedsuccessCount : int
[概 要] モデルインスタンス生存中に、何回モデル処理が成功したかを保持します.
BaseModel
Public Methods
 MethodDefined By
 Inherited
[概 要] モデル処理失敗イベントを発行するメソッドです.
BaseModel
 Inherited
[概 要] モデル処理完了イベントを発行するメソッドです.
BaseModel
 Inherited
[概 要] モデル処理成功イベントを発行するメソッドです.
BaseModel
 Inherited
[概 要] ModelProcessEvent.SUCCESS発行回数を1増加させます.
BaseModel
  
[static] [概 要] 通信オブジェクトキャッシュを全て削除します.
RPCCore
  
removeCache(cacheId:String):void
[static] [概 要] 通信オブジェクトキャッシュを削除します.
RPCCore
 Inherited
run():void
[概 要] コントローラにコールされるモデルの主幹メソッドです.
BaseModel
Protected Methods
 MethodDefined By
  
cacheId():String
[概 要] キャッシュモード実行時、通信オブジェクトを識別する為のIDを返却します.
RPCCore
  
createConcreteService():IEventDispatcher
[概 要] 具象イベントディスパッチャを作成します.
RPCCore
  
faultHandler(event:FaultEvent):void
[概 要] 受信失敗ハンドラです.
RPCCore
 Inherited
[概 要] run()が終了したタイミングでテンプレートコールされるメソッドです.
BaseModel
  
[概 要] 通信成功、失敗に関わらずコールされます.
RPCCore
  
mainProc():void
[override] [概 要] メイン処理メソッドです.
RPCCore
  
onFailure(event:FaultEvent, parameterMapping:ParameterMapping):void
[概 要] 受信失敗処理用オーバーライドメソッドです.
RPCCore
  
onFinish(parameterMapping:ParameterMapping):void
[概 要] 通信終了処理実装メソッドです.
RPCCore
  
onSuccess(event:ResultEvent, parameterMapping:ParameterMapping):void
[概 要] 受信成功処理用オーバーライドメソッドです.
RPCCore
 Inherited
postProc():void
[概 要] 後処理テンプレートメソッドです.
BaseModel
 Inherited
preProc():Boolean
[概 要] 前処理テンプレートメソッドです.
BaseModel
  
resultHandler(event:ResultEvent):void
[概 要] 受信成功ハンドラです.
RPCCore
  
send(dispathcer:IEventDispatcher):Object
[概 要] RPC通信実行メソッドです.
RPCCore
  
trap(e:Error):Error
[override] [概 要] 非同期通信開始前のエラーをハンドリングします.
RPCCore
Public Constants
 ConstantDefined By
  E4X : String = e4x
[static] レスポンス返却フォーマット「e4x」を示す定数です.
RPCCore
  OBJECT : String = object
[static] レスポンス返却フォーマット「object」を示す定数です.
RPCCore
  XML : String = xml
[static] レスポンス返却フォーマット「xml」を示す定数です.
RPCCore
Property Detail
asyncTokenproperty
asyncToken:Object

[概 要]

非同期通信トークンです.

[詳 細]

cacheModeがtrue時、通信オブジェクトが複数のイベントハンドラを保持する以下のケースで判断されます。
  1. Aアクション、Bアクションに通信先が同一の機能モデルが登録され、 且つ同時実行された場合。
  2. 同一アクションに通信先が同じ通信モデルが複数登録され、 且つBaseAction#isModelsAndNoWait()がtrueを返却する(パラレルモードでモデル実行する)場合。
上記の場合、A通信で取得したデータをB通信イベントハンドラが取得してしまう可能性が有ります。 この際、B通信イベントハンドラがA通信のデータを処理してしまわない為の通信識別子として使用されます。

[備 考]


Implementation
    public function get asyncToken():Object
    public function set asyncToken(value:Object):void
cacheproperty 
cache:Dictionary

[概 要]

static通信オブジェクトキャッシュプロパティです.

[詳 細]

cacheModeがtrueの場合、使用した通信オブジェクトを、cacheIdをキーにして保存します。 このDictionaryからエントリを削除する場合、removeCacheメソッドを使用します。

[備 考]


Implementation
    public static function get cache():Dictionary
    public static function set cache(value:Dictionary):void
cacheModeproperty 
cacheMode:Boolean

[概 要]

通信先が同じであれば各種通信オブジェクトをキャッシュします.

[詳 細]

true設定された状態で通信を行うと、cacheスタティックDictionaryプロパティにキャッシュされます。 Dictionaryのキーは具象通信モデルのcacheIDが使用され、値として使用した通信オブジェクト が保存されます。

各種通信モデルのcacheIdメソッドは以下を返却します。 以上が同一、且つcacheModeがtrueの場合、通信オブジェクトはキャッシュされます。

[備 考]


Implementation
    public function get cacheMode():Boolean
    public function set cacheMode(value:Boolean):void
serviceproperty 
service:IEventDispatcher

[概 要]

継承先で定義される、各種通信オブジェクトのI/Fです.

[詳 細]

HTTPServiceCoreはHTTPServiceオブジェクトを、 RemoteObjectCoreはRemoteObjectオブジェクトをこのプロパティに設定します。

[備 考]


Implementation
    public function get service():IEventDispatcher
    public function set service(value:IEventDispatcher):void
Method Detail
cacheId()method
protected function cacheId():String

[概 要]

キャッシュモード実行時、通信オブジェクトを識別する為のIDを返却します.

[詳 細]

このクラスを継承した場合は、必ずこのメソッドをオーバーライドし、cacheIdを返却します。 cacheIdはcacheModeプロパティがtrueの場合のみ使用されます。

[備 考]

Returns
String — 通信オブジェクトを識別する為のキャッシュID
createConcreteService()method 
protected function createConcreteService():IEventDispatcher

[概 要]

具象イベントディスパッチャを作成します.

[詳 細]

このクラスを継承した場合は、必ずこのメソッドをオーバーライドし、通信オブジェクト実体を返却します。

[備 考]

Returns
IEventDispatcher — 通信オブジェクト
faultHandler()method 
protected final function faultHandler(event:FaultEvent):void

[概 要]

受信失敗ハンドラです.

[詳 細]

受信失敗処理用メソッド「onFailure」のテンプレートコールを行い、 モデル失敗イベントModelProcessEvent.FAILUREを発行します。

[備 考]

Parameters

event:FaultEvent — 通信失敗イベント

finishConnect()method 
protected function finishConnect():void

[概 要]

通信成功、失敗に関わらずコールされます.

[詳 細]

イベントハンドラを解放します。

[備 考]

通信終了処理実装はonFinishをオーバーライドしてください。

mainProc()method 
override protected function mainProc():void

[概 要]

メイン処理メソッドです.

[詳 細]

通信オブジェクトの実体を生成するcreateCocreteService()を 呼び出し、生成されたオブジェクトに対して受信成功ハンドラ 「resultHandler」、受信失敗ハンドラ「faultHandler」を追加します。

[備 考]

onFailure()method 
protected function onFailure(event:FaultEvent, parameterMapping:ParameterMapping):void

[概 要]

受信失敗処理用オーバーライドメソッドです.

[詳 細]

汎用的な受信失敗処理を記述したい場合、 モデルを継承してこのメソッドをオーバーライドします。

[備 考]

Parameters

event:FaultEvent — 通信失敗イベント
 
parameterMapping:ParameterMapping — パラメータマップ

onFinish()method 
protected function onFinish(parameterMapping:ParameterMapping):void

[概 要]

通信終了処理実装メソッドです.

[詳 細]

通信成功、失敗に関わらずコールされます。 onSuccessまたはonFailureコール後にコールされます。 成功失敗共通の処理を実装することが出来ます。

[備 考]

Parameters

parameterMapping:ParameterMapping

onSuccess()method 
protected function onSuccess(event:ResultEvent, parameterMapping:ParameterMapping):void

[概 要]

受信成功処理用オーバーライドメソッドです.

[詳 細]

汎用的な受信成功処理を記述したい場合、 モデルを継承してこのメソッドをオーバーライドします。

[備 考]

Parameters

event:ResultEvent — 通信成功イベント
 
parameterMapping:ParameterMapping — パラメータマップ

removeAllCache()method 
public static function removeAllCache():void

[概 要]

通信オブジェクトキャッシュを全て削除します.

[詳 細]

cacheModeがtrue時、cacheプロパティに保存された通信オブジェクトを全て削除します。

[備 考]

removeCache()method 
public static function removeCache(cacheId:String):void

[概 要]

通信オブジェクトキャッシュを削除します.

[詳 細]

cacheModeがtrue時、cacheプロパティに保存された通信オブジェクトを削除します。

[備 考]

Parameters

cacheId:String — キャッシュID

resultHandler()method 
protected final function resultHandler(event:ResultEvent):void

[概 要]

受信成功ハンドラです.

[詳 細]

受信成功処理用メソッド「onSuccess」のテンプレートコールを行い、 モデル成功イベントModelProcessEvent.SUCCESSと、 モデル完了イベントModelProcessEvent.FINISHEDを発行します。

[備 考]

Parameters

event:ResultEvent — 通信成功イベント

send()method 
protected function send(dispathcer:IEventDispatcher):Object

[概 要]

RPC通信実行メソッドです.

[詳 細]

このクラスを継承した場合は、必ずこのメソッドをオーバーライドし、通信処理実行、AsyncTokenを返却します。

[備 考]

Parameters

dispathcer:IEventDispatcher

Returns
Object — AsyncToken
trap()method 
override protected function trap(e:Error):Error

[概 要]

非同期通信開始前のエラーをハンドリングします.

[詳 細]

通信オブジェクトが生成されている場合、付与されているイベントリスナを削除し、 機能モデルへの参照を無くします。

[備 考]

Parameters

e:Error

Returns
Error
Constant Detail
E4XConstant
public static const E4X:String = e4x

レスポンス返却フォーマット「e4x」を示す定数です.

OBJECTConstant 
public static const OBJECT:String = object

レスポンス返却フォーマット「object」を示す定数です.

XMLConstant 
public static const XML:String = xml

レスポンス返却フォーマット「xml」を示す定数です.