Package io.jmix.ui.executor.impl
Class TaskHandlerImpl<T,V>
java.lang.Object
io.jmix.ui.executor.impl.TaskHandlerImpl<T,V>
- All Implemented Interfaces:
BackgroundTaskHandler<V>
-
Constructor Summary
ConstructorDescriptionTaskHandlerImpl
(UIAccessor uiAccessor, TaskExecutor<T, V> taskExecutor, WatchDog watchDog, org.springframework.context.ApplicationEventPublisher applicationEventPublisher, org.springframework.security.core.userdetails.UserDetails user, TimeSource timeSource) -
Method Summary
Modifier and TypeMethodDescriptionfinal boolean
cancel()
Cancel task.final void
Cancel without events for tasks.final void
execute()
Execute theBackgroundTask
.final V
Join task thread to current
Caution! Call this method only from synchronous gui action ;long
final BackgroundTask<T,
V> getTask()
long
final boolean
isAlive()
final boolean
final boolean
isDone()
final void
kill()
Cancel without events for tasksprotected void
ownerWindowRemoved
(FrameOwner frameOwner) protected void
final void
Cancel with timeout exceeded event
-
Constructor Details
-
TaskHandlerImpl
public TaskHandlerImpl(UIAccessor uiAccessor, TaskExecutor<T, V> taskExecutor, WatchDog watchDog, org.springframework.context.ApplicationEventPublisher applicationEventPublisher, org.springframework.security.core.userdetails.UserDetails user, TimeSource timeSource)
-
-
Method Details
-
ownerWindowRemoved
-
execute
public final void execute()Description copied from interface:BackgroundTaskHandler
Execute theBackgroundTask
.
This method must be called only once for a handler instance.- Specified by:
execute
in interfaceBackgroundTaskHandler<T>
-
cancel
public final boolean cancel()Description copied from interface:BackgroundTaskHandler
Cancel task.- Specified by:
cancel
in interfaceBackgroundTaskHandler<T>
- Returns:
- true if canceled, false if the task was not started or is already stopped
-
removeAfterDetachListener
protected void removeAfterDetachListener() -
getResult
Join task thread to current
Caution! Call this method only from synchronous gui action ;- Specified by:
getResult
in interfaceBackgroundTaskHandler<T>
- Returns:
- Task result
-
closeByTimeout
public final void closeByTimeout()Cancel without events for tasks. Need to execute #timeoutExceeded after this method -
kill
public final void kill()Cancel without events for tasks -
timeoutExceeded
public final void timeoutExceeded()Cancel with timeout exceeded event -
isDone
public final boolean isDone()- Specified by:
isDone
in interfaceBackgroundTaskHandler<T>
- Returns:
- true if the task is completed
-
isCancelled
public final boolean isCancelled()- Specified by:
isCancelled
in interfaceBackgroundTaskHandler<T>
- Returns:
- true if the task has been canceled
-
isAlive
public final boolean isAlive()- Specified by:
isAlive
in interfaceBackgroundTaskHandler<T>
- Returns:
- true if the task is running
-
getTask
-
getStartTimeStamp
public long getStartTimeStamp() -
getTimeoutMs
public long getTimeoutMs()
-