Package | jp.co.fujitsu.reffi.client.flex.model.rpc |
Class | public class RPCControllerClientCore |
Inheritance | RPCControllerClientCore ![]() ![]() ![]() |
[概 要]
RemoteObjectによるリモートモジュール呼び出しをサポートする機能モデルクラスです.[詳 細]
呼び出されるサーバモジュールがjp.co.fujitsu.reffi.server.flex.web.controller.RPCController、 若しくはRPCController継承クラスであることを想定したRPCクライアントクラスです。 このクラスをRPC呼び出しクライアントとして選択すると、呼び出し予定のモジュールが RPCController一クラスに限定される為、サーバ側RPCモジュール定義を簡略化することが出来ます。 接続するデフォルトdestination識別子は「remote-controller」です。 サーバ側のremoting-config.xmlに以下の定義を追加することでRPCControllerを起動することが出来ます。<!-- RPCControllerClientCoreが期待するdestination名で登録 --> <destination id="remote-controller"> <properties> <!-- RPCController継承クラスでも可 --> <source>jp.co.fujitsu.reffi.server.flex.web.controller.RPCController</source> <scope>application</scope> </properties> </destination>
[備 考]
RPCControllerの詳細な説明はreff-server-flexのJavaDocを参照して下さい。Property | Defined By | ||
---|---|---|---|
![]() | asyncToken : Object
[概 要]
非同期通信トークンです. | RPCCore | |
![]() | cache : Dictionary [static]
[概 要]
static通信オブジェクトキャッシュプロパティです. | RPCCore | |
![]() | cacheMode : Boolean
[概 要]
通信先が同じであれば各種通信オブジェクトをキャッシュします. | RPCCore | |
![]() | controller : BaseController
[概 要]
このモデルを起動したコントローラインスタンスです. | BaseModel | |
![]() | executeIndex : int
[概 要]
実行インデックス設定. | BaseModel | |
modelFQCN : String
[概 要]
サーバリモートの実行モデルFQCNです. | RPCControllerClientCore | ||
![]() | parameterMapping : ParameterMapping
[概 要]
MVC各レイヤを伝播するパラメータオブジェクトです. | BaseModel | |
remoteDestination : String
[概 要]
RPCコントローラの宛先です. | RPCControllerClientCore | ||
rpcParameter : Object
[概 要]
RPCメソッド呼び出し時のパラメータです. | RPCControllerClientCore | ||
![]() | service : IEventDispatcher
[概 要]
継承先で定義される、各種通信オブジェクトのI/Fです. | RPCCore | |
![]() | skip : Boolean
[概 要]
このモデルを実行するか、コントローラが判断する為のフラグです. | BaseModel | |
![]() | successCount : int
[概 要]
モデルインスタンス生存中に、何回モデル処理が成功したかを保持します. | BaseModel |
Method | Defined By | ||
---|---|---|---|
addRpcParameter(key:Object, value:Object):Object
[概 要]
RPCメソッド呼び出し時のパラメータに新規パラメータを追加します. | RPCControllerClientCore | ||
![]() | dispatchModelFailure(event:ModelProcessEvent):void
[概 要]
モデル処理失敗イベントを発行するメソッドです. | BaseModel | |
![]() | dispatchModelFinished(event:ModelProcessEvent):void
[概 要]
モデル処理完了イベントを発行するメソッドです. | BaseModel | |
![]() | dispatchModelSuccess(event:ModelProcessEvent):void
[概 要]
モデル処理成功イベントを発行するメソッドです. | BaseModel | |
![]() | incrementSuccessCount():int
[概 要]
ModelProcessEvent.SUCCESS発行回数を1増加させます. | BaseModel | |
![]() | removeAllCache():void [static]
[概 要]
通信オブジェクトキャッシュを全て削除します. | RPCCore | |
![]() | removeCache(cacheId:String):void [static]
[概 要]
通信オブジェクトキャッシュを削除します. | RPCCore | |
![]() | run():void
[概 要]
コントローラにコールされるモデルの主幹メソッドです. | BaseModel |
Method | Defined By | ||
---|---|---|---|
cacheId():String [override]
[概 要]
キャッシュモード実行時、通信オブジェクトを識別する為のIDを返却します. | RPCControllerClientCore | ||
createConcreteService():IEventDispatcher [override]
[概 要]
具象通信オブジェクトを生成します. | RPCControllerClientCore | ||
![]() | faultHandler(event:FaultEvent):void
[概 要]
受信失敗ハンドラです. | RPCCore | |
![]() | finallyProc():void
[概 要]
run()が終了したタイミングでテンプレートコールされるメソッドです. | BaseModel | |
finishConnect():void [override]
[概 要]
通信成功、失敗に関わらずコールされます. | RPCControllerClientCore | ||
![]() | mainProc():void [override]
[概 要]
メイン処理メソッドです. | RPCCore | |
![]() | onFailure(event:FaultEvent, parameterMapping:ParameterMapping):void
[概 要]
受信失敗処理用オーバーライドメソッドです. | RPCCore | |
![]() | onFinish(parameterMapping:ParameterMapping):void
[概 要]
通信終了処理実装メソッドです. | RPCCore | |
![]() | onSuccess(event:ResultEvent, parameterMapping:ParameterMapping):void
[概 要]
受信成功処理用オーバーライドメソッドです. | RPCCore | |
![]() | postProc():void
[概 要]
後処理テンプレートメソッドです. | BaseModel | |
![]() | preProc():Boolean
[概 要]
前処理テンプレートメソッドです. | BaseModel | |
![]() | resultHandler(event:ResultEvent):void
[概 要]
受信成功ハンドラです. | RPCCore | |
send(dispatcher:IEventDispatcher):Object [override]
[概 要]
RPCリクエストを行います. | RPCControllerClientCore | ||
![]() | trap(e:Error):Error [override]
[概 要]
非同期通信開始前のエラーをハンドリングします. | RPCCore |
Constant | Defined By | ||
---|---|---|---|
DEFAULT_DESTINATION : String = remote-controller [static] | RPCControllerClientCore | ||
![]() | E4X : String = e4x [static] レスポンス返却フォーマット「e4x」を示す定数です. | RPCCore | |
![]() | OBJECT : String = object [static] レスポンス返却フォーマット「object」を示す定数です. | RPCCore | |
![]() | XML : String = xml [static] レスポンス返却フォーマット「xml」を示す定数です. | RPCCore |
modelFQCN | property |
modelFQCN:String
[概 要]
サーバリモートの実行モデルFQCNです.[詳 細]
RPCControllerに実行される、業務ロジックが記述されたモデルクラスです。 業務ロジッククラスはjp.co.fujitsu.reffi.server.model.AbstractModelを継承したクラスです。[備 考]
public function get modelFQCN():String
public function set modelFQCN(value:String):void
remoteDestination | property |
remoteDestination:String
[概 要]
RPCコントローラの宛先です.[詳 細]
remoting-config.xmlで設定されているRPCコントローラの宛先を文字列で設定します。[備 考]
The default value is remote-controller
.
public function get remoteDestination():String
public function set remoteDestination(value:String):void
rpcParameter | property |
rpcParameter:Object
[概 要]
RPCメソッド呼び出し時のパラメータです.[詳 細]
サーバ側ではMap<Object, Object>に型変換されます。 設定された値は、サーバ側AbstractModel継承業務ロジッククラス内で getRequest()、getRequestParameter(Object key)メソッドによって取得出来ます。[備 考]
public function get rpcParameter():Object
public function set rpcParameter(value:Object):void
addRpcParameter | () | method |
public function addRpcParameter(key:Object, value:Object):Object
[概 要]
RPCメソッド呼び出し時のパラメータに新規パラメータを追加します.[詳 細]
設定された値は、サーバ側AbstractModel継承業務ロジッククラス内で getRequest()、getRequestParameter(Object key)メソッドによって取得出来ます。[備 考]
Parameters
key:Object — パラメータキー
| |
value:Object — パラメータ値
|
Object |
cacheId | () | method |
override protected function cacheId():String
[概 要]
キャッシュモード実行時、通信オブジェクトを識別する為のIDを返却します.[詳 細]
remoteDestinationプロパティを返却します。 cacheIdはcacheModeプロパティがtrueの場合のみ使用されます。[備 考]
ReturnsString — 通信オブジェクトを識別する為のキャッシュID
|
createConcreteService | () | method |
override protected function createConcreteService():IEventDispatcher
[概 要]
具象通信オブジェクトを生成します.[詳 細]
RemoteObjectオブジェクトを、destination = "remote-controller"で生成します。[備 考]
ReturnsIEventDispatcher — RemoteObjectオブジェクト
|
finishConnect | () | method |
override protected final function finishConnect():void
[概 要]
通信成功、失敗に関わらずコールされます.[詳 細]
処理は有りません。[備 考]
通信終了処理実装はonFinishをオーバーライドしてください。send | () | method |
override protected function send(dispatcher:IEventDispatcher):Object
[概 要]
RPCリクエストを行います.[詳 細]
指定されたChannelSet、サーバ側業務ロジッククラス、パラメータマップで、 サーバ側で待機しているRPCController(デフォルトdestination:remote-controller)を呼び出します。[備 考]
Parameters
dispatcher:IEventDispatcher |
Object |
DEFAULT_DESTINATION | Constant |
public static const DEFAULT_DESTINATION:String = remote-controller
public class WardListChangeAction extends BaseAction { override protected function reserveModels(models:Array):void { models.push(Class(RPCControllerClientCore)); } override public function nextModel(index:int, prev:ModelProcessEvent, next:BaseModel):Boolean { switch (index) { case 0: var postalCombo:ComboBox = getComponentByName("wardList") as ComboBox; RPCControllerClientCore(next).modelFQCN = "demo.rpc.model.FetchPostalDataModel"; RPCControllerClientCore(next).addRpcParameter("selectedWard", postalCombo.selectedLabel); break; } return true; } override public function successForward(index:int, model:BaseModel, resultEvent:Event):void { switch (index) { case 0: var postalTable:DataGrid = getComponentByName("postaltable") as DataGrid; postalTable.dataProvider = ResultEvent(resultEvent).result; break; } } }
Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.