Package | jp.co.fujitsu.reffi.client.flex.model.timer |
Class | public class TimerProcessCore |
Inheritance | TimerProcessCore ![]() ![]() |
[概 要]
一定周期で任意の処理を行う為の機能モデルクラスです.[詳 細]
以下のプロパティを設定することで動作します。public class SimpleTimerAction extends BaseAction { override protected function reserveModels(models:Array):void { models.push(Class(TimerProcessCore)); } override public function nextModel(index:int, prev:ModelProcessEvent, next:BaseModel):Boolean { if(index == 0) { TimerProcessCore(next).timerId = "simpleTimer"; TimerProcessCore(next).interval = 5000; TimerProcessCore(next).repeat = 3; } return true; } override public function successForward(index:int, model:BaseModel, resultEvent:Event):void { trace("5秒毎に計3回コールバックされます"); } }
public class ServerDateFetchAction 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 = "serverInformation"; RemoteObjectCore(next).methodName = "getServerTime"; } return true; } override public function successForward(index:int, model:BaseModel, resultEvent:Event):void { trace("ServerDateFetchAction#successForward : サーバ時間 = " + ResultEvent(resultEvent).result); } override public function complete():void { trace("ServerDateFetchAction#complete : ServerDateFetchAction完了"); } }
public class ExecuteActionByTimerAction extends BaseAction { override protected function reserveModels(models:Array):void { models.push(Class(TimerProcessCore)); } override public function nextModel(index:int, prev:ModelProcessEvent, next:BaseModel):Boolean { if(index == 0) { TimerProcessCore(next).timerId = "regularityRemoteAccess"; TimerProcessCore(next).interval = 3000; TimerProcessCore(next).intervalAction = Class(ServerDateFetchAction); } return true; } override public function successForward(index:int, model:BaseModel, resultEvent:Event):void { trace("ExecuteActionByTimerAction#successForward : ServerDateFetchAction実行成功"); if(model.successCount == 3) { TimerProcessCoreManager.getInstance().stop("regularityRemoteAccess"); } } override public function complete():void { trace("ExecuteActionByTimerAction#complete :タイマー終了"); } }
ServerDateFetchAction#successForward : サーバ時間 = Fri Sep 25 21:47:24 GMT+0900 2009 ServerDateFetchAction#complete : ServerDateFetchAction完了 ExecuteActionByTimerAction#successForward : ServerDateFetchAction実行成功 ServerDateFetchAction#successForward : サーバ時間 = Fri Sep 25 21:47:27 GMT+0900 2009 ServerDateFetchAction#complete : ServerDateFetchAction完了 ExecuteActionByTimerAction#successForward : ServerDateFetchAction実行成功 ServerDateFetchAction#successForward : サーバ時間 = Fri Sep 25 21:47:30 GMT+0900 2009 ServerDateFetchAction#complete : ServerDateFetchAction完了 ExecuteActionByTimerAction#successForward : ServerDateFetchAction実行成功 ExecuteActionByTimerAction#complete :タイマー終了
[備 考]
Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.
Property | Defined By | ||
---|---|---|---|
active : Boolean
[概 要]
開始状態を指定します. | TimerProcessCore | ||
![]() | controller : BaseController
[概 要]
このモデルを起動したコントローラインスタンスです. | BaseModel | |
![]() | executeIndex : int
[概 要]
実行インデックス設定. | BaseModel | |
interval : Number
[概 要]
タイマー実行間隔です. | TimerProcessCore | ||
intervalAction : Class
[概 要]
インターバル実行するアクションクラスです. | TimerProcessCore | ||
![]() | parameterMapping : ParameterMapping
[概 要]
MVC各レイヤを伝播するパラメータオブジェクトです. | BaseModel | |
repeat : int
[概 要]
繰り返す回数を指定します. | TimerProcessCore | ||
![]() | skip : Boolean
[概 要]
このモデルを実行するか、コントローラが判断する為のフラグです. | BaseModel | |
![]() | successCount : int
[概 要]
モデルインスタンス生存中に、何回モデル処理が成功したかを保持します. | BaseModel | |
timerId : String
[概 要]
使用するタイマーの識別子です. | TimerProcessCore |
Method | Defined By | ||
---|---|---|---|
![]() | dispatchModelFailure(event:ModelProcessEvent):void
[概 要]
モデル処理失敗イベントを発行するメソッドです. | BaseModel | |
![]() | dispatchModelFinished(event:ModelProcessEvent):void
[概 要]
モデル処理完了イベントを発行するメソッドです. | BaseModel | |
![]() | dispatchModelSuccess(event:ModelProcessEvent):void
[概 要]
モデル処理成功イベントを発行するメソッドです. | BaseModel | |
![]() | incrementSuccessCount():int
[概 要]
ModelProcessEvent.SUCCESS発行回数を1増加させます. | BaseModel | |
resultHandler(event:TimerEvent):void
[概 要]
タイマーイベントのハンドラです. | TimerProcessCore | ||
![]() | run():void
[概 要]
コントローラにコールされるモデルの主幹メソッドです. | BaseModel |
Method | Defined By | ||
---|---|---|---|
![]() | finallyProc():void
[概 要]
run()が終了したタイミングでテンプレートコールされるメソッドです. | BaseModel | |
mainProc():void [override]
[概 要]
タイマーの開始、終了を行います. | TimerProcessCore | ||
onSuccess(event:TimerEvent):void
[概 要]
オーバーライド用タイマーイベントハンドラです. | TimerProcessCore | ||
![]() | postProc():void
[概 要]
後処理テンプレートメソッドです. | BaseModel | |
![]() | preProc():Boolean
[概 要]
前処理テンプレートメソッドです. | BaseModel | |
![]() | trap(e:Error):Error
[概 要]
run()内で発生した全例外をハンドリングするメソッドです. | BaseModel |
active | property |
active:Boolean
[概 要]
開始状態を指定します.[詳 細]
true:tick開始 false : tick停止[備 考]
The default value is true
.
public function get active():Boolean
public function set active(value:Boolean):void
interval | property |
interval:Number
[概 要]
タイマー実行間隔です.[詳 細]
実行間隔をミリ秒で指定します。[備 考]
public function get interval():Number
public function set interval(value:Number):void
intervalAction | property |
intervalAction:Class
[概 要]
インターバル実行するアクションクラスです.[詳 細]
このプロパティが設定されている場合は、タイマーイベントでこのアクションが コントローラに実行委譲されます。[備 考]
実行するアクションの処理が、intervalプロパティで指定した時間内に終わらない ものであった場合、負荷が累積します。 その場合、アクションの処理を軽減するか、intervalプロパティを長く設定するなどの対処が必要です。 public function get intervalAction():Class
public function set intervalAction(value:Class):void
repeat | property |
repeat:int
[概 要]
繰り返す回数を指定します.[詳 細]
intervalを何回繰り返すかを指定します。 指定が無い場合、無制限に実行されます。[備 考]
public function get repeat():int
public function set repeat(value:int):void
timerId | property |
timerId:String
[概 要]
使用するタイマーの識別子です.[詳 細]
タイマーをストップさせる為に使用します。 同時に同じtimerIdを持つTimerを実行しようとするとCoreLogicErrorがスローされます。[備 考]
public function get timerId():String
public function set timerId(value:String):void
mainProc | () | method |
override protected function mainProc():void
[概 要]
タイマーの開始、終了を行います.[詳 細]
activeプロパティがtrueの場合はタイマー開始、falseの場合はタイマー停止します。 具体的なタイマー制御処理はTimerProcessCoreManagerに委譲されます。[備 考]
onSuccess | () | method |
protected function onSuccess(event:TimerEvent):void
[概 要]
オーバーライド用タイマーイベントハンドラです.[詳 細]
継承クラスでタイマーイベントをハンドリングする為に使用します。[備 考]
Parameters
event:TimerEvent |
resultHandler | () | method |
public final function resultHandler(event:TimerEvent):void
[概 要]
タイマーイベントのハンドラです.[詳 細]
intervalAction指定が無い場合にTimerによってコールバックされます。[備 考]
Parameters
event:TimerEvent |