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 | ||
---|---|---|---|
![]() | 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 | ||
---|---|---|---|
[概 要]
コンストラクタです. | RPCControllerClientCore | ||
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 | |
![]() | run():void
[概 要]
コントローラにコールされるモデルの主幹メソッドです. | BaseModel |
Method | Defined By | ||
---|---|---|---|
createConcreteService():IEventDispatcher [override]
[概 要]
具象通信オブジェクトを生成します. | RPCControllerClientCore | ||
![]() | faultHandler(event:FaultEvent):void
[概 要]
受信失敗ハンドラです. | RPCCore | |
![]() | finallyProc():void
[概 要]
run()が終了したタイミングでテンプレートコールされるメソッドです. | BaseModel | |
mainProc():void [override]
[概 要]
RPCリクエストを行います. | RPCControllerClientCore | ||
![]() | onFailure(event:FaultEvent, parameterMapping:ParameterMapping):void
[概 要]
受信失敗処理用オーバーライドメソッドです. | RPCCore | |
![]() | onSuccess(event:ResultEvent, parameterMapping:ParameterMapping):void
[概 要]
受信成功処理用オーバーライドメソッドです. | RPCCore | |
![]() | postProc():void
[概 要]
後処理テンプレートメソッドです. | BaseModel | |
![]() | preProc():Boolean
[概 要]
前処理テンプレートメソッドです. | BaseModel | |
![]() | resultHandler(event:ResultEvent):void
[概 要]
受信成功ハンドラです. | RPCCore | |
![]() | trap(e:Error):Error
[概 要]
run()内で発生した全例外をハンドリングするメソッドです. | BaseModel |
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
RPCControllerClientCore | () | Constructor |
public function RPCControllerClientCore()
[概 要]
コンストラクタです.[詳 細]
プロパティを初期化します。[備 考]
addRpcParameter | () | method |
public function addRpcParameter(key:Object, value:Object):Object
[概 要]
RPCメソッド呼び出し時のパラメータに新規パラメータを追加します.[詳 細]
設定された値は、サーバ側AbstractModel継承業務ロジッククラス内で getRequest()、getRequestParameter(Object key)メソッドによって取得出来ます。[備 考]
Parameters
key:Object — パラメータキー
| |
value:Object — パラメータ値
|
Object |
createConcreteService | () | method |
override protected function createConcreteService():IEventDispatcher
[概 要]
具象通信オブジェクトを生成します.[詳 細]
RemoteObjectオブジェクトを、destination = "remote-controller"で生成します。[備 考]
ReturnsIEventDispatcher — RemoteObjectオブジェクト
|
mainProc | () | method |
override protected function mainProc():void
[概 要]
RPCリクエストを行います.[詳 細]
指定されたChannelSet、サーバ側業務ロジッククラス、パラメータマップで、 サーバ側で待機しているRPCController(デフォルトdestination:remote-controller)を呼び出します。[備 考]
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.