| Package | jp.co.fujitsu.reffi.client.flex.model.rpc |
| Class | public class RemoteObjectCore |
| Inheritance | RemoteObjectCore RPCCore BaseModel flash.events.EventDispatcher |
[概 要]
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、メソッド名、パラメータを指定、 リモートモジュールにリクエストします。[備 考]