Package | jp.co.fujitsu.reffi.client.flex.model.rpc |
Class | public class RemoteObjectCore |
Inheritance | RemoteObjectCore ![]() ![]() ![]() |
[概 要]
RemoteObjectによるリモートモジュール呼び出しをサポートする機能モデルクラスです.[詳 細]
サーバ側remoting-config.xmlで定義されているRPCモジュールにアクセスする為のクラスです。[備 考]
<destination id="orderDestination"> <properties> <source>test.server.OrderProcesser</source> </properties> </destination>
package test.server; public class OrderProcesser { public String requestOrder(int productId, int num){ String responseMessage = ""; String productName = null; int price = 0; switch(productId) { case 0: productName = "ノートPC"; price = 120000; break; case 1: productName = "デスクトップPC"; price = 180000; break; case 2: productName = "液晶ディスプレイ"; price = 56000; break; } if(productName == null) { responseMessage = "productIdに対応する製品が見つかりませんでした"; } else { responseMessage = productName + "が " + num + "個注文されました:計" + price * num + "円です"; } return responseMessage; } }
package test.client.action { import flash.events.Event; import jp.co.fujitsu.reffi.client.flex.action.BaseAction; import jp.co.fujitsu.reffi.client.flex.controller.ParameterMapping; import jp.co.fujitsu.reffi.client.flex.events.ModelProcessEvent; import jp.co.fujitsu.reffi.client.flex.model.BaseModel; import jp.co.fujitsu.reffi.client.flex.model.rpc.RemoteObjectCore; import mx.rpc.events.ResultEvent; public class RemoteObjectAction extends BaseAction { override protected function reserveModels(models:Array):void { models.push(Class(RemoteObjectCore)); } override public function nextModel(index:int, prev:ModelProcessEvent, next:BaseModel):Boolean { if(index == 0) { RemoteObjectCore(next).remoteDestination = "orderDestination"; RemoteObjectCore(next).methodName = "requestOrder"; RemoteObjectCore(next).addRpcParameter(0); RemoteObjectCore(next).addRpcParameter(2); } return true; } override public function successForward(index:int, model:BaseModel, resultEvent:Event):void { trace(ResultEvent(resultEvent).result); } } }
Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.
Property | Defined by | ||
---|---|---|---|
![]() | controller : BaseController
[概 要] このモデルを起動したコントローラインスタンスです. | BaseModel | |
![]() | executeIndex : int [概 要] 実行インデックス設定. | BaseModel | |
methodName : String [概 要] 実行するリモートオブジェクトメソッド名です. | RemoteObjectCore | ||
![]() | parameterMapping : ParameterMapping
[概 要] MVC各レイヤを伝播するパラメータオブジェクトです. | BaseModel | |
remoteDestination : String [概 要] RPCリクエスト時のdestinationです. | RemoteObjectCore | ||
rpcParameter : Array [概 要] RPCメソッド引数です. | RemoteObjectCore | ||
![]() | service : IEventDispatcher [概 要] 継承先で定義される、各種通信オブジェクトのI/Fです. | RPCCore | |
![]() | skip : Boolean [概 要] このモデルを実行するか、コントローラが判断する為のフラグです. | BaseModel | |
![]() | successCount : int [概 要] モデルインスタンス生存中に、何回モデル処理が成功したかを保持します. | BaseModel |
Method | Defined by | ||
---|---|---|---|
addRpcParameter(value:Object):Array
[概 要] RPCメソッド呼び出し時のパラメータに新規パラメータを追加します. | RemoteObjectCore | ||
![]() |
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
[概 要] 具象通信オブジェクトを作成します. | RemoteObjectCore | ||
![]() |
faultHandler(event:FaultEvent):void
[概 要] 受信失敗ハンドラです. | RPCCore | |
![]() |
finallyProc():void
[概 要] run()が終了したタイミングでテンプレートコールされるメソッドです. | BaseModel | |
mainProc():void
[概 要] RPCリクエストを行います. | RemoteObjectCore | ||
![]() |
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 |
methodName | property |
methodName:String
[read-write]
[概 要]
実行するリモートオブジェクトメソッド名です.[詳 細]
destinationで設定されているオブジェクトが持つメソッド名を指定します。[備 考]
実装 public function get methodName():String
public function set methodName(value:String):void
remoteDestination | property |
remoteDestination:String
[read-write]
[概 要]
RPCリクエスト時のdestinationです.[詳 細]
remoting-config.xmlで設定されているRPCモジュールのdestinationを文字列で指定します。[備 考]
実装 public function get remoteDestination():String
public function set remoteDestination(value:String):void
rpcParameter | property |
rpcParameter:Array
[read-write]
[概 要]
RPCメソッド引数です.[詳 細]
methodNameプロパティで指定したメソッドが持つ引数を設定します。[備 考]
実装 public function get rpcParameter():Array
public function set rpcParameter(value:Array):void
addRpcParameter | () | method |
public function addRpcParameter(value:Object):Array
[概 要]
RPCメソッド呼び出し時のパラメータに新規パラメータを追加します.[詳 細]
methodNameプロパティで指定したRPCメソッドが持つ引数を設定します。[備 考]
パラメータvalue:Object |
Array |
createConcreteService | () | method |
protected override function createConcreteService():IEventDispatcher
[概 要]
具象通信オブジェクトを作成します.[詳 細]
RemoteObjectオブジェクトを生成して返却します。[備 考]
戻り値IEventDispatcher — RemoteObjectオブジェクト
|
mainProc | () | method |
protected override function mainProc():void
[概 要]
RPCリクエストを行います.[詳 細]
RemoteObjectに対してdestination、メソッド名、パラメータを指定、 リモートモジュールにリクエストします。[備 考]