-
- 既知のすべての実装クラス:
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を取得します。ReadOnlyStringPropertymessageメッセージを表すReadOnlyStringPropertyを取得します。ReadOnlyDoublePropertyprogress進捗を表すReadOnlyDoublePropertyを取得します。ReadOnlyBooleanPropertyrunningWorkerを実行しているかどうかを表すReadOnlyBooleanPropertyを取得します。ReadOnlyObjectProperty<Worker.State>state現在の状態を表すReadOnlyObjectPropertyを取得します。ReadOnlyStringPropertytitleタイトルを表すReadOnlyStringPropertyを取得します。ReadOnlyDoublePropertytotalWork実行する必要がある最大処理量を表すReadOnlyDoublePropertyを取得します。ReadOnlyObjectProperty<V>value値を表すReadOnlyObjectPropertyを取得します。ReadOnlyDoublePropertyworkDone現在の進捗を表すReadOnlyDoublePropertyを取得します。
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 インタフェース 説明 static classWorker.StateWorkerの状態。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 booleancancel()このWorkerの実行を終了します。ReadOnlyObjectProperty<Throwable>exceptionProperty()発生した例外を表すReadOnlyObjectPropertyを取得します。ThrowablegetException()Workerの実行中に発生した例外を示します(存在する場合)。StringgetMessage()このWorkerの現在の状態に関連付けられたメッセージを取得します。doublegetProgress()このWorkerの現在の進捗を完了パーセントで示します。Worker.StategetState()このWorkerの現在の状態を指定します。StringgetTitle()このWorkerに関連付ける必要があるオプションのタイトル。doublegetTotalWork()workDoneProperty()プロパティの最大値を示します。VgetValue()このWorkerの値(つまり、結果)を指定します。doublegetWorkDone()現在の完了済の処理量を示します。booleanisRunning()状態がSCHEDULEDまたはRUNNINGの場合はtrue。ReadOnlyStringPropertymessageProperty()メッセージを表すReadOnlyStringPropertyを取得します。ReadOnlyDoublePropertyprogressProperty()進捗を表すReadOnlyDoublePropertyを取得します。ReadOnlyBooleanPropertyrunningProperty()Workerを実行しているかどうかを表すReadOnlyBooleanPropertyを取得します。ReadOnlyObjectProperty<Worker.State>stateProperty()現在の状態を表すReadOnlyObjectPropertyを取得します。ReadOnlyStringPropertytitleProperty()タイトルを表すReadOnlyStringPropertyを取得します。ReadOnlyDoublePropertytotalWorkProperty()実行する必要がある最大処理量を表すReadOnlyDoublePropertyを取得します。ReadOnlyObjectProperty<V>valueProperty()値を表すReadOnlyObjectPropertyを取得します。ReadOnlyDoublePropertyworkDoneProperty()現在の進捗を表す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を返します。
-
-