jp.co.fujitsu.reffi.client.swing.manager
クラス TimerProcessCoreManager

java.lang.Object
  上位を拡張 jp.co.fujitsu.reffi.client.swing.manager.TimerProcessCoreManager

public class TimerProcessCoreManager
extends Object

[概 要]

TimerProcessCore機能モデルを管理するマネージャクラスです。

[詳 細]

タイマーを開始したTimerProcessCoreをtimerIdをキーにして管理します。
タイマーを停止する際、指定された任意のtimerIdを持つTimerProcessCoreに タイマー停止を命じます。

[備 考]

[環 境] JDK 6.0 Update 11

Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.

作成者:
Project Reffi

メソッドの概要
static TimerProcessCoreManager getInstance()
          [概 要] シングルトンインスタンス取得メソッドです。
 Map<String,TimerProcessCore> getTimers()
          [概 要] TimerProcessCoreを管理するマップオブジェクトを返却します。
 boolean isRegist(String timerId)
          [概 要] 引数timerIdを持つTimerProcessCoreが既に管理されているか調べます。
 void setTimers(Map<String,TimerProcessCore> timers)
          [概 要] TimerProcessCoreを管理するマップオブジェクトを設定します。
 boolean start(TimerProcessCore timerProcessCore)
          [概 要] タイマー処理を開始します。
 boolean stop(String timerId)
          [概 要] タイマー処理を停止します。
 boolean stopImmediately(String timerId)
          [概 要] タイマー処理をただちに停止します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getTimers

public Map<String,TimerProcessCore> getTimers()

[概 要]

TimerProcessCoreを管理するマップオブジェクトを返却します。

[詳 細]

timersフィールドを返却します。

[備 考]

戻り値:
TimerProcessCoreを管理するマップオブジェクト

setTimers

public void setTimers(Map<String,TimerProcessCore> timers)

[概 要]

TimerProcessCoreを管理するマップオブジェクトを設定します。

[詳 細]

timersフィールドを引数timersで設定します。

[備 考]

パラメータ:
timers - TimerProcessCoreを管理するマップオブジェクト

getInstance

public static TimerProcessCoreManager getInstance()

[概 要]

シングルトンインスタンス取得メソッドです。

[詳 細]

TimerProcessCoreManagerのインスタンスはJVM内でユニークです。

[備 考]

戻り値:
マネージャのシングルトンインスタンス

isRegist

public boolean isRegist(String timerId)

[概 要]

引数timerIdを持つTimerProcessCoreが既に管理されているか調べます。

[詳 細]

timers管理マップに引数timerIdがキーとして登録されているかどうか 調べて返却します。
trueの場合、タイマーをstartしているTimerProcessCoreが既に存在します。

[備 考]

パラメータ:
timerId - タイマーの識別子
戻り値:
true : 既登録、false : 未登録

start

public boolean start(TimerProcessCore timerProcessCore)

[概 要]

タイマー処理を開始します。

[詳 細]

既に同名のtimerIdを持つtimerProcessCoreが存在する場合はfalseを返却します。
ScheduledThreadPoolExecuterに定期処理を委譲します。
Executerの実行にはTimerProcessCoreに設定されている情報が使用されます。
  1. 初期遅延:TimerProcessCore.getInitialDelay()
  2. 実行間隔:TimerProcessCore.getPeriod()
  3. 終了時間:TimerProcessCore.getStopLater()(0の場合は自動停止無し)
  4. 実行処理:TimerProcessCore.getIntervalAction() (nullの場合は成功イベント発行のみ)
タイマー処理を開始したTimerProcessCoreは、timerIdをキーにtimersフィールドで管理開始されます。

[備 考]

パラメータ:
timerProcessCore - 開始するタイマー情報を持った機能モデルインスタンス
戻り値:
true : タイマー開始成功、 false : 失敗

stop

public boolean stop(String timerId)

[概 要]

タイマー処理を停止します。

[詳 細]

stop(String, long)オーバーロードメソッドに処理委譲します。

[備 考]

パラメータ:
timerId -
戻り値:
true : 停止成功、false : 停止失敗

stopImmediately

public boolean stopImmediately(String timerId)

[概 要]

タイマー処理をただちに停止します。

[詳 細]

引数timerIdを持つTimerProcessCoreに対してタイマー処理の停止を命じます。
timerIdを持つTimerProcessCoreが管理されていない場合はfalseを返却します。
タイマー停止が行われた後、timersフィールドからtimerIdがキーのTimerProcessCoreを削除します。

これらの処理が正常に行われた後、タイマー処理を停止したTimerProcessCoreに対して ModelProcessEvent.FINISHEDイベントを発行され、BaseAction#completeがコールバックされます。

[備 考]

タイマーがスケジュールしているタスクがまだ存在する場合、それらのタスク実行をキャンセル して、タイマーが停止します。
遅延タスクを全て実行しきってタイマーを停止する場合は stop(String)を使用してください。

パラメータ:
timerId - タイマーの識別子
戻り値:
true : 停止成功、false : 停止失敗


Copyright(C) Fujitsu All Rights Reserved.