Package io.jmix.flowui.backgroundtask
Class LocalizedTaskWrapper<T,V>
java.lang.Object
io.jmix.flowui.backgroundtask.BackgroundTask<T,V>
io.jmix.flowui.backgroundtask.LocalizedTaskWrapper<T,V>
- Type Parameters:
T
- task progress measurement unitV
- result type
@Component("flowui_LocalizedTaskWrapper")
@Scope("prototype")
public class LocalizedTaskWrapper<T,V>
extends BackgroundTask<T,V>
INTERNAL!
Supposed to use when showing
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 classes/interfaces inherited from class io.jmix.flowui.backgroundtask.BackgroundTask
BackgroundTask.ProgressListener<T,
V>, BackgroundTask.ProgressListenerAdapter<T, V> -
Field Summary
Modifier and TypeFieldDescriptionprotected Consumer<LocalizedTaskWrapper.CloseViewContext>
protected Messages
protected Notifications
protected BackgroundTask<T,
V> -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
canceled()
Called by the execution environment in UI thread if the task is canceled byBackgroundTaskHandler.cancel()
invocation.void
Called by the execution environment in UI thread when the task is completed.Called by the execution environment in UI thread to prepare some execution parameters.boolean
Called by the execution environment in UI thread if the taskBackgroundTask.run(TaskLifeCycle)
method raised an exception.boolean
Called by the execution environment in UI thread if the task timeout is exceeded.protected void
void
Called by the execution environment in UI 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 working thread
- In long loops check
-
handleException
Description copied from class:BackgroundTask
Called by the execution environment in UI thread if the taskBackgroundTask.run(TaskLifeCycle)
method raised an exception.- Overrides:
handleException
in classBackgroundTask<T,
V> - Parameters:
ex
- exception- Returns:
- true if this method implementation actually handles the exception. Used for chaining handlers.
-
handleTimeoutException
public boolean handleTimeoutException()Description copied from class:BackgroundTask
Called by the execution environment in UI thread if the task timeout is exceeded.- Overrides:
handleTimeoutException
in classBackgroundTask<T,
V> - Returns:
- true if this method implementation actually handles this event. Used for chaining handlers.
-
done
Description copied from class:BackgroundTask
Called by the execution environment in UI thread when the task is completed.- Overrides:
done
in classBackgroundTask<T,
V> - Parameters:
result
- result of execution returned byBackgroundTask.run(TaskLifeCycle)
method
-
canceled
public void canceled()Description copied from class:BackgroundTask
Called by the execution environment in UI thread if the task is canceled byBackgroundTaskHandler.cancel()
invocation.
This method is not called in case of timeout expiration or owner view closing.- Overrides:
canceled
in classBackgroundTask<T,
V>
-
progress
Description copied from class:BackgroundTask
Called by the execution environment in UI thread on progress change.- Overrides:
progress
in classBackgroundTask<T,
V> - Parameters:
changes
- list of changes since previous invocation
-
showExecutionError
-
notifyCloseViewHandler
protected void notifyCloseViewHandler()
-