Class LocalizedTaskWrapper<T,V>
- Type Parameters:
T
- task progress measurement unitV
- result type
Dialog
or some View
. For instance
if we need to show some dialog when task is running (e.g. updating the progress).
See example in DialogsImpl.BackgroundTaskDialogBuilderImpl
.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class io.jmix.flowui.backgroundtask.BackgroundTask
BackgroundTask.ProgressListener<T,
V>, BackgroundTask.ProgressListenerAdapter<T, V> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Consumer<LocalizedTaskWrapper.CloseViewContext>
protected Messages
protected Notifications
protected BackgroundTask<T,
V> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
canceled()
Provides exclusive access to this UI from outside a request handling thread when the task is canceled byBackgroundTaskHandler.cancel()
invocation.void
Provides exclusive access to this UI from outside a request handling thread when the task is completed.Called by the execution environment in UI thread to prepare some execution parameters.boolean
Provides exclusive access to this UI from outside a request handling thread if the taskBackgroundTask.run(TaskLifeCycle)
method raised an exception.boolean
Provides exclusive access to this UI from outside a request handling thread if the task timeout is exceeded.protected void
void
Provides exclusive access to this UI from outside a request handling thread on progress change.run
(TaskLifeCycle<T> lifeCycle) Main method that performs a task.void
setCloseViewHandler
(Consumer<LocalizedTaskWrapper.CloseViewContext> closeViewHandler) void
setMessages
(Messages messages) void
setNotifications
(Notifications notifications) protected void
Methods inherited from class io.jmix.flowui.backgroundtask.BackgroundTask
addProgressListener, getOwnerView, getProgressListeners, getTimeoutMilliseconds, getTimeoutSeconds, removeProgressListener
-
Field Details
-
messages
-
notifications
-
wrappedTask
-
closeViewHandler
-
-
Constructor Details
-
LocalizedTaskWrapper
-
-
Method Details
-
setMessages
-
setNotifications
-
getCloseViewHandler
-
setCloseViewHandler
public void setCloseViewHandler(@Nullable Consumer<LocalizedTaskWrapper.CloseViewContext> closeViewHandler) -
getParams
Description copied from class:BackgroundTask
Called by the execution environment in UI thread to prepare some execution parameters. These parameters can be requested by the working thread inside theBackgroundTask.run(TaskLifeCycle)
method by callingTaskLifeCycle.getParams()
.- Overrides:
getParams
in classBackgroundTask<T,
V> - Returns:
- parameters map or null if parameters are not needed
-
run
Description copied from class:BackgroundTask
Main method that performs a task.
Called by the execution environment in a separate working thread.
Implementation of this method should support interruption:- In long loops check
TaskLifeCycle.isInterrupted()
and return if it is true - Don't swallow
InterruptedException
- return from the method or don't catch it at all
- Specified by:
run
in classBackgroundTask<T,
V> - Parameters:
lifeCycle
- lifecycle object that allows the main method to interact with the execution environment- Returns:
- task result
- Throws:
Exception
- exception in a working thread
- In long loops check
-
handleException
Description copied from class:BackgroundTask
Provides exclusive access to this UI from outside a request handling thread if the taskBackgroundTask.run(TaskLifeCycle)
method raised an exception.Please note that the command might be invoked on a different thread or later on the current thread, which means that custom thread locals might not have the expected values when the command is executed.
UI.getCurrent()
,VaadinSession.getCurrent()
andVaadinService.getCurrent()
are set according to this UI before executing the command. Other standard CurrentInstance values such asVaadinService.getCurrentRequest()
andVaadinService.getCurrentResponse()
will not be defined.- Overrides:
handleException
in classBackgroundTask<T,
V> - Parameters:
ex
- exception- Returns:
- true if this method implementation actually handles the exception. Used for chaining handlers.
- See Also:
-
UI.access(Command)
-
handleTimeoutException
public boolean handleTimeoutException()Description copied from class:BackgroundTask
Provides exclusive access to this UI from outside a request handling thread if the task timeout is exceeded.Please note that the command might be invoked on a different thread or later on the current thread, which means that custom thread locals might not have the expected values when the command is executed.
UI.getCurrent()
,VaadinSession.getCurrent()
andVaadinService.getCurrent()
are set according to this UI before executing the command. Other standard CurrentInstance values such asVaadinService.getCurrentRequest()
andVaadinService.getCurrentResponse()
will not be defined.- Overrides:
handleTimeoutException
in classBackgroundTask<T,
V> - Returns:
- true if this method implementation actually handles this event. Used for chaining handlers.
- See Also:
-
UI.access(Command)
-
done
Description copied from class:BackgroundTask
Provides exclusive access to this UI from outside a request handling thread when the task is completed.Please note that the command might be invoked on a different thread or later on the current thread, which means that custom thread locals might not have the expected values when the command is executed.
UI.getCurrent()
,VaadinSession.getCurrent()
andVaadinService.getCurrent()
are set according to this UI before executing the command. Other standard CurrentInstance values such asVaadinService.getCurrentRequest()
andVaadinService.getCurrentResponse()
will not be defined.- Overrides:
done
in classBackgroundTask<T,
V> - Parameters:
result
- result of execution returned byBackgroundTask.run(TaskLifeCycle)
method- See Also:
-
UI.access(Command)
-
canceled
public void canceled()Description copied from class:BackgroundTask
Provides exclusive access to this UI from outside a request handling thread when the task is canceled byBackgroundTaskHandler.cancel()
invocation.This method is not called in case of timeout expiration or owner view closing.
Please note that the command might be invoked on a different thread or later on the current thread, which means that custom thread locals might not have the expected values when the command is executed.
UI.getCurrent()
,VaadinSession.getCurrent()
andVaadinService.getCurrent()
are set according to this UI before executing the command. Other standard CurrentInstance values such asVaadinService.getCurrentRequest()
andVaadinService.getCurrentResponse()
will not be defined.- Overrides:
canceled
in classBackgroundTask<T,
V> - See Also:
-
UI.access(Command)
-
progress
Description copied from class:BackgroundTask
Provides exclusive access to this UI from outside a request handling thread on progress change.Please note that the command might be invoked on a different thread or later on the current thread, which means that custom thread locals might not have the expected values when the command is executed.
UI.getCurrent()
,VaadinSession.getCurrent()
andVaadinService.getCurrent()
are set according to this UI before executing the command. Other standard CurrentInstance values such asVaadinService.getCurrentRequest()
andVaadinService.getCurrentResponse()
will not be defined.- Overrides:
progress
in classBackgroundTask<T,
V> - Parameters:
changes
- list of changes since previous invocation- See Also:
-
UI.access(Command)
-
showExecutionError
-
notifyCloseViewHandler
protected void notifyCloseViewHandler()
-