T.M. SoftStudio

feci quod potui, faciant meliora potentes

Класс Task<V>

Абстрактный класс Task<V> расширяет класс java.util.concurrent.FutureTask<V> и реализует интерфейс Worker<V> и javafx.event.EventTarget, обеспечивая асинхронное выполнение задачи в фоновом потоке.

Конкретные реализации абстрактного класса Task<V> должны переопределять его метод call(), вызываемый средой выполнения в фоновом потоке.

Запуск объекта Task и соответственно вызов его метода call() может быть выполнен различными способами:

  • С помощью сервисного класса Service, обеспечивающего создание и запуск объекта Task.

  • Унаследованным от класса FutureTask методом run().

  • С помощью программного интерфейса Java Executor API.

Класс Task<V> предоставляет следующие свойства, конструкторы и методы:

  • Свойство state – поле перечисления javafx.concurrent.Worker.State, указывающее состояние выполнения задачи в фоновом потоке. Перечисление Worker.State имеет следующие поля:

  • public static final Worker.State READY – выполнение задачи готово к запуску.

  • public static final Worker.State SCHEDULED – выполнение задачи запланировано к запуску, но еще не запущено.

  • public static final Worker.State RUNNING – выполнение задачи запущено.

  • public static final Worker.State SUCCEEDED – задача выполнена успешно.

  • public static final Worker.State CANCELLED – выполнение задачи прервано.

  • public static final Worker.State FAILED – при выполнении задачи произошла ошибка.

  • Свойство onScheduledProperty – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния SCHEDULED выполнения задачи.

  • Свойство onRunningProperty – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния RUNNING выполнения задачи.

  • Свойство onSucceededProperty – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния SUCCEEDED выполнения задачи.

  • Свойство onCancelledProperty – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния CANCELLED выполнения задачи.

  • Свойство onFailedProperty – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния FAILED выполнения задачи.

  • Свойство value – результат выполнения задачи.

  • Свойство exception – объект java.lang.Throwable ошибки выполнения задачи.

  • Свойство workDone – текущее количественное выполнение задачи от -1 до totalWork.

  • Свойство totalWork – максимальное количественное выполнение задачи.

  • Свойство progress – текущее процентное выполнение задачи.

  • Свойство running – если true, тогда состояние выполнения задачи SCHEDULED или RUNNING.

  • Свойство message – сообщение, связанное с текущим состоянием выполнения задачи.

  • Свойство title – заголовок данной задачи.

  • Конструктор public Task().

  • Метод protected abstract V call() – вызывается средой выполнения при запуске объекта Task и должен быть переопределен конкретной реализацией абстрактного класса Task<V>. В данном методе разрешено вызывать только методы updateProgress(), updateMessage() и updateTitle(). Результатом выполнения задачи Task в фоновом потоке является объект V, возвращаемый методом call().

  • Метод public final Worker.State getState() – возвращает текущее состояние выполнения задачи.

  • Метод public final ReadOnlyObjectProperty<Worker.State> stateProperty() – возвращает JavaFX Beans свойство текущего состояния выполнения задачи.

  • Метод public final ObjectProperty<EventHandler<WorkerStateEvent>> onScheduledProperty() – возвращает объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния SCHEDULED выполнения задачи.

  • Метод public final EventHandler<WorkerStateEvent> getOnScheduled() – возвращает обработчик состояния SCHEDULED выполнения задачи.

  • Метод public final void setOnScheduled(EventHandler<WorkerStateEvent> value) – устанавливает обработчик состояния SCHEDULED выполнения задачи.

  • Метод public final ObjectProperty<EventHandler<WorkerStateEvent>> onRunningProperty() – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состоянияRUNNING выполнения задачи.

  • Метод public final EventHandler<WorkerStateEvent> getOnRunning() – возвращает обработчик состояния RUNNING выполнения задачи.

  • Метод public final void setOnRunning(EventHandler<WorkerStateEvent> value) – устанавливает обработчик состояния RUNNING выполнения задачи.

  • Метод public final ObjectProperty<EventHandler<WorkerStateEvent>> onSucceededProperty() – возвращает объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчиксостояния SUCCEEDED выполнения задачи.

  • Метод public final EventHandler<WorkerStateEvent> getOnSucceeded() – возвращает обработчик состояния SUCCEEDED выполнения задачи.

  • Метод public final void setOnSucceeded(EventHandler<WorkerStateEvent> value) – устанавливает обработчик состояния SUCCEEDED выполнения задачи.

  • Метод public final ObjectProperty<EventHandler<WorkerStateEvent>> onCancelledProperty() – возвращает объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчиксостояния CANCELLED выполнения задачи.

  • Метод public final EventHandler<WorkerStateEvent> getOnCancelled() – возвращает обработчик состояния CANCELLED выполнения задачи.

  • Метод public final void setOnCancelled(EventHandler<WorkerStateEvent> value) – устанавливает обработчик состояния CANCELLED выполнения задачи.

  • Метод public final ObjectProperty<EventHandler<WorkerStateEvent>> onFailedProperty() – возвращает объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчиксостояния FAILED выполнения задачи.

  • Метод public final EventHandler<WorkerStateEvent> getOnFailed() – возвращает обработчик состояния FAILED выполнения задачи.

  • Метод public final void setOnFailed(EventHandler<WorkerStateEvent> value) – устанавливает обработчик состояния FAILED выполнения задачи.

  • Метод public final V getValue() – возвращает результат выполнения задачи.

  • Метод public final ReadOnlyObjectProperty<V> valueProperty() – возвращает JavaFX Beans свойство результата выполнения задачи.

  • Метод public final java.lang.Throwable getException() – возвращает ошибку выполнения задачи.

  • Метод public final ReadOnlyObjectProperty<java.lang.Throwable> exceptionProperty() – возвращает JavaFX Beans свойство ошибки выполнения задачи.

  • Метод public final double getWorkDone() – возвращает текущее количественное выполнение задачи от -1 до totalWork.

  • Метод public final ReadOnlyDoubleProperty workDoneProperty() – возвращает JavaFX Beans свойство текущего количественного выполнения задачи.

  • Метод public final double getTotalWork() – возвращает максимальное количественное выполнение задачи.

  • Метод public final ReadOnlyDoubleProperty totalWorkProperty() – возвращает JavaFX Beans свойство максимального количественного выполнения задачи.

  • Метод public final double getProgress() – возвращает текущее процентное выполнение задачи.

  • Метод public final ReadOnlyDoubleProperty progressProperty() – возвращает JavaFX Beans свойство текущего процентного выполнения задачи.

  • Метод public final boolean isRunning() – возвращает true, если выполнение задачи имеет статус SCHEDULED или RUNNING.

  • Метод public final ReadOnlyBooleanProperty runningProperty() – возвращает JavaFX Beans свойство статуса выполнения задачи SCHEDULED или RUNNING

  • Метод public final java.lang.String getMessage() – возвращает сообщение, связанное с текущим состоянием выполнения задачи.

  • Метод public final ReadOnlyStringProperty messageProperty() – возвращает JavaFX Beans свойство сообщения, связанного с текущим состоянием выполнения задачи.

  • Метод public final java.lang.String getTitle() – возвращает заголовок данной задачи.

  • Метод public final ReadOnlyStringProperty titleProperty() – возвращает JavaFX Beans свойство заголовка данной задачи.

  • Метод public final boolean cancel() – прерывает выполнение задачи.

  • Метод public boolean cancel(boolean mayInterruptIfRunning) – запрашивает завершение выполнения задачи. Возвращает false, если выполнение задачи не может быть прервано, так как, например, задача уже успешно выполнена.

  • Метод protected void updateProgress(long workDone, long max), protected void updateProgress(double workDone, double max) – обновляет свойства workDone, totalWork и progress.

  • Метод protected void updateMessage(java.lang.String message) – обновляет свойство message.

  • Метод protected void updateTitle(java.lang.String title) – обновляет свойство title.

  • Метод protected void updateValue(V value) - обновляет значение свойства.

  • Метод public final <T extends Event> void addEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler) – регистрирует обработчик событий задачи.

  • Метод public final <T extends Event> void removeEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler) – удаляет обработчик событий задачи.

  • Метод public final <T extends Event> void addEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter) – регистрирует фильтр событий задачи.

  • Метод public final <T extends Event> void removeEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter) – удаляет фильтр событий задачи.

  • Метод public EventDispatchChain buildEventDispatchChain(EventDispatchChain tail) – определяет цепочку адресации событий.

  • Метод public final void fireEvent(Event event) – генерирует определенное событие.