-
- 既知のすべての実装クラス:
ScheduledService
,Service
,Task
public interface Worker<V>
ワーカーは、1つ以上のバックグラウンド・スレッドで何らかの作業を実行し、その状態がJavaFXアプリケーションで観測可能で利用可能であり、メインのJavaFXアプリケーション・スレッドから使用可能なオブジェクトです。 このインタフェースは、主に
Task
とService
の両方によって実装され、ユーザー・インタフェースの開発時に、適切に機能するワーカーをライブラリおよびフレームワークが提供することを容易にする、両方のクラス間の共通APIを提供します。Workerは、実装に応じて、再利用可能な場合と再利用可能でない場合があります。 たとえば、
Task
は再利用可能ではありませんが、Service
は再利用可能です。Workerには、明確に定義されたライフ・サイクルがあります。 すべてのWorkerは、
Worker.State.READY
状態で開始されます。 Workerの処理がスケジュールされると(たとえば、ServiceのService.start()
メソッドが呼び出されると)、Worker.State.SCHEDULED
に遷移します。 技術的にはスケジュールされず、即時に起動されるWorkerも(FutureTask.run()
の使用など)、Worker.State.SCHEDULED
を経由してWorker.State.RUNNING
状態に遷移します。Workerがその処理を実際に実行しているとき、状態は
Worker.State.RUNNING
に遷移しています。 Workerが正常に完了した場合、Worker.State.SUCCEEDED
状態になり、Workerの結果はvalue
プロパティとして設定されます。 ただし、Workerの実行中に例外が発生した場合、状態はWorker.State.FAILED
に設定され、exception
プロパティは発生した例外に設定されます。Workerの終了前の任意の時点で(つまり、状態がまだ
Worker.State.SUCCEEDED
またはWorker.State.FAILED
でない場合)、開発者はcancel()
メソッドを呼び出すことができます。 呼び出すと、Workerは実行を停止し(可能な場合、Thread.interruptの使用を含む)、状態はWorker.State.CANCELLED
に変わります。Workerの有効な開始状態は
Worker.State.READY
のみであり、有効な終了状態はWorker.State.CANCELLED
、Worker.State.SUCCEEDED
およびWorker.State.FAILED
です。 状態がWorker.State.SCHEDULED
またはWorker.State.RUNNING
の場合、running
プロパティがtrueに設定されます。Workerの進捗は、
totalWork
、workDone
およびprogress
という3つの異なるプロパティでモニターできます。 これらのプロパティはWorkerインタフェースの実際の実装によって設定されますが、誰でも監視できます。workDone
は、-1 (不確定な進捗を意味する)からtotalWork
までの数値(両端の数値を含む)です。workDone == totalWork
の場合、progress
は100% (つまり1)になります。totalWork
は、-1からLong.MAX_VALUEまでの数値(両端の数値を含む)になります。 progressは、-1 (不確定を意味する)か、または0から1までの値(両端の値を含む)になり、これは0%から100%を表します。Worker.State.READY
またはWorker.State.SCHEDULED
状態のWorkerでは、workDone
およびprogress
は常に-1に設定されます。Worker.State.SUCCEEDED
状態のWorkerは、常にworkDone == totalWork
およびprogress == 1
になります。 その他の状態では、これらのプロパティの値はそれぞれの有効範囲内の任意の値です。- 導入されたバージョン:
- JavaFX 2.0
-
-
プロパティのサマリー
プロパティ 型 プロパティ 説明 ReadOnlyObjectProperty<Throwable>
exception
発生した例外を表すReadOnlyObjectPropertyを取得します。ReadOnlyStringProperty
message
メッセージを表すReadOnlyStringPropertyを取得します。ReadOnlyDoubleProperty
progress
進捗を表すReadOnlyDoublePropertyを取得します。ReadOnlyBooleanProperty
running
Workerを実行しているかどうかを表すReadOnlyBooleanPropertyを取得します。ReadOnlyObjectProperty<Worker.State>
state
現在の状態を表すReadOnlyObjectPropertyを取得します。ReadOnlyStringProperty
title
タイトルを表すReadOnlyStringPropertyを取得します。ReadOnlyDoubleProperty
totalWork
実行する必要がある最大処理量を表すReadOnlyDoublePropertyを取得します。ReadOnlyObjectProperty<V>
value
値を表すReadOnlyObjectPropertyを取得します。ReadOnlyDoubleProperty
workDone
現在の進捗を表すReadOnlyDoublePropertyを取得します。
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 インタフェース 説明 static class
Worker.State
Workerの状態。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 boolean
cancel()
このWorkerの実行を終了します。ReadOnlyObjectProperty<Throwable>
exceptionProperty()
発生した例外を表すReadOnlyObjectPropertyを取得します。Throwable
getException()
Workerの実行中に発生した例外を示します(存在する場合)。String
getMessage()
このWorkerの現在の状態に関連付けられたメッセージを取得します。double
getProgress()
このWorkerの現在の進捗を完了パーセントで示します。Worker.State
getState()
このWorkerの現在の状態を指定します。String
getTitle()
このWorkerに関連付ける必要があるオプションのタイトル。double
getTotalWork()
workDoneProperty()
プロパティの最大値を示します。V
getValue()
このWorkerの値(つまり、結果)を指定します。double
getWorkDone()
現在の完了済の処理量を示します。boolean
isRunning()
状態がSCHEDULEDまたはRUNNINGの場合はtrue。ReadOnlyStringProperty
messageProperty()
メッセージを表すReadOnlyStringPropertyを取得します。ReadOnlyDoubleProperty
progressProperty()
進捗を表すReadOnlyDoublePropertyを取得します。ReadOnlyBooleanProperty
runningProperty()
Workerを実行しているかどうかを表すReadOnlyBooleanPropertyを取得します。ReadOnlyObjectProperty<Worker.State>
stateProperty()
現在の状態を表すReadOnlyObjectPropertyを取得します。ReadOnlyStringProperty
titleProperty()
タイトルを表すReadOnlyStringPropertyを取得します。ReadOnlyDoubleProperty
totalWorkProperty()
実行する必要がある最大処理量を表すReadOnlyDoublePropertyを取得します。ReadOnlyObjectProperty<V>
valueProperty()
値を表すReadOnlyObjectPropertyを取得します。ReadOnlyDoubleProperty
workDoneProperty()
現在の進捗を表すReadOnlyDoublePropertyを取得します。
-
-
-
プロパティの詳細
-
state
ReadOnlyObjectProperty<Worker.State> stateProperty
現在の状態を表すReadOnlyObjectPropertyを取得します。- 関連項目:
getState()
-
value
ReadOnlyObjectProperty<V> valueProperty
値を表すReadOnlyObjectPropertyを取得します。- 関連項目:
getValue()
-
exception
ReadOnlyObjectProperty<Throwable> exceptionProperty
発生した例外を表すReadOnlyObjectPropertyを取得します。- 関連項目:
getException()
-
workDone
ReadOnlyDoubleProperty workDoneProperty
現在の進捗を表すReadOnlyDoublePropertyを取得します。- 関連項目:
getWorkDone()
-
totalWork
ReadOnlyDoubleProperty totalWorkProperty
実行する必要がある最大処理量を表すReadOnlyDoublePropertyを取得します。 これらの処理単位は、ダウンロードする必要があるバイト数や処理するイメージ数、その他のこのようなメトリックなど、Worker実装にとって意味を持ちます。- 関連項目:
getTotalWork()
-
progress
ReadOnlyDoubleProperty progressProperty
進捗を表すReadOnlyDoublePropertyを取得します。- 関連項目:
getProgress()
-
running
ReadOnlyBooleanProperty runningProperty
Workerを実行しているかどうかを表すReadOnlyBooleanPropertyを取得します。- 関連項目:
isRunning()
-
message
ReadOnlyStringProperty messageProperty
メッセージを表すReadOnlyStringPropertyを取得します。- 関連項目:
getMessage()
-
title
ReadOnlyStringProperty titleProperty
タイトルを表すReadOnlyStringPropertyを取得します。- 関連項目:
getTitle()
-
-
メソッドの詳細
-
getState
Worker.State getState()
このWorkerの現在の状態を指定します。 初期値はState.READYです。 Taskは再起動される場合があり、その場合、これらの終了状態(SUCCEEDED、CANCELLEDまたはFAILED)のいずれかからREADYに戻り、即時にSCHEDULEDおよびRUNNINGに進みます。 これらの状態遷移は即時に次々と発生する場合がありますが、規定の順序で常に発生します。- 戻り値:
- このWorkerの現在の状態
-
stateProperty
ReadOnlyObjectProperty<Worker.State> stateProperty()
現在の状態を表すReadOnlyObjectPropertyを取得します。- 関連項目:
getState()
-
getValue
V getValue()
このWorkerの値(つまり、結果)を指定します。 これは、SUCCEEDED状態になるときに設定され、Workerが再初期化された場合(つまり、Workerが再利用可能なWorkerであり、リセットまたは再起動された場合)は、クリアされます(nullに設定されます)。- 戻り値:
- このWorkerの現在の値
-
valueProperty
ReadOnlyObjectProperty<V> valueProperty()
値を表すReadOnlyObjectPropertyを取得します。- 関連項目:
getValue()
-
getException
Throwable getException()
Workerの実行中に発生した例外を示します(存在する場合)。 このプロパティ値がnull
の場合、ステータスがFAILEDであっても、既知の例外はありません。 このプロパティがnull
でない場合、失敗の原因を示す例外が含まれている可能性が高くなります。- 戻り値:
- 例外(発生した場合)
-
exceptionProperty
ReadOnlyObjectProperty<Throwable> exceptionProperty()
発生した例外を表すReadOnlyObjectPropertyを取得します。- 関連項目:
getException()
-
getWorkDone
double getWorkDone()
現在の完了済の処理量を示します。 0または正の値は、完了に向けた進捗を示します。 この変数値は、具体的なWorker実装に応じて、デフォルト値から変わる場合と変わらない場合があります。 値-1は、現在の実行された処理量を判別できないことを意味します(つまり、不確定です)。 このプロパティの値は、常にtotalWork以下です。- 戻り値:
- 実行された処理量
- 関連項目:
totalWorkProperty()
,progressProperty()
-
workDoneProperty
ReadOnlyDoubleProperty workDoneProperty()
現在の進捗を表すReadOnlyDoublePropertyを取得します。- 関連項目:
getWorkDone()
-
getTotalWork
double getTotalWork()
workDoneProperty()
プロパティの最大値を示します。 totalWorkは、-1 (実行する処理量が不確定であることを示す)になるか、またはDouble.MAX_VALUE以下の0以外の値になります。- 戻り値:
- 実行される処理合計
- 関連項目:
workDoneProperty()
,progressProperty()
-
totalWorkProperty
ReadOnlyDoubleProperty totalWorkProperty()
実行する必要がある最大処理量を表すReadOnlyDoublePropertyを取得します。 これらの処理単位は、ダウンロードする必要があるバイト数や処理するイメージ数、その他のこのようなメトリックなど、Worker実装にとって意味を持ちます。- 関連項目:
getTotalWork()
-
getProgress
double getProgress()
このWorkerの現在の進捗を完了パーセントで示します。 0から1までの値は、完了に向けた進捗を示します。 値-1は、現在の進捗を判別できないことを意味します(つまり、不確定です)。 このプロパティは、具体的なWorker実装に応じて、デフォルト値-1から変わる場合と変わらない場合があります。- 戻り値:
- 現在の進捗
- 関連項目:
workDoneProperty()
,totalWorkProperty()
-
progressProperty
ReadOnlyDoubleProperty progressProperty()
進捗を表すReadOnlyDoublePropertyを取得します。- 関連項目:
getProgress()
-
isRunning
boolean isRunning()
状態がSCHEDULEDまたはRUNNINGの場合はtrue。 WorkerをProgressIndicator
にバインドする場合、通常は、ProgressIndicatorのvisibilityをWorkerのrunningプロパティにバインドし、ProgressIndicatorのprogressをWorkerのprogressプロパティにバインドします。- 戻り値:
- このWorkerが実行中の場合はtrue
-
runningProperty
ReadOnlyBooleanProperty runningProperty()
Workerを実行しているかどうかを表すReadOnlyBooleanPropertyを取得します。- 関連項目:
isRunning()
-
getMessage
String getMessage()
このWorkerの現在の状態に関連付けられたメッセージを取得します。 これは、たとえば、Processing image 1 of 3などの場合があります。- 戻り値:
- 現在のメッセージ
-
messageProperty
ReadOnlyStringProperty messageProperty()
メッセージを表すReadOnlyStringPropertyを取得します。- 関連項目:
getMessage()
-
getTitle
String getTitle()
このWorkerに関連付ける必要があるオプションのタイトル。 これは、Modifying Imagesなどの場合があります。- 戻り値:
- 現在のタイトル
-
titleProperty
ReadOnlyStringProperty titleProperty()
タイトルを表すReadOnlyStringPropertyを取得します。- 関連項目:
getTitle()
-
cancel
boolean cancel()
このWorkerの実行を終了します。 このメソッドを呼び出すと、このWorkerが実行キューから削除されるか、実行が停止されます。- 戻り値:
- 取消しが成功だった場合、trueを返します。
-
-