Class Task.InputBlocker

  • Enclosing class:
    Task<T,​V>

    public abstract static class Task.InputBlocker
    extends AbstractBean
    Specifies to what extent input to the Application's GUI should be blocked while this Task is being executed and provides a pair of methods, block and unblock that do the work of blocking the GUI. For the sake of input blocking, a Task begins executing when it's submitted to a TaskService, and it finishes executing after the Task's completion methods have been called.

    The InputBlocker's BlockingScope and the blocking target object define what part of the GUI's input will be blocked:

    Task.BlockingScope.NONE
    Don't block input. The blocking target is ignored in this case.

    Task.BlockingScope.ACTION
    Disable the target Action while the Task is executing.

    Task.BlockingScope.COMPONENT
    Disable the target Component Component while the Task is executing.

    Task.BlockingScope.WINDOW
    Block the Window ancestor of the target Component while the Task is executing.

    Task.BlockingScope.Application
    Block the entire Application while the Task is executing. The blocking target is ignored in this case.

    Input blocking begins when the block method is called and ends when unblock is called. Each method is only called once, typically by the TaskService.

    See Also:
    Task.getInputBlocker(), Task.setInputBlocker(org.jdesktop.application.Task.InputBlocker), TaskService, Action
    • Constructor Detail

      • InputBlocker

        public InputBlocker​(Task task,
                            Task.BlockingScope scope,
                            java.lang.Object target,
                            ApplicationAction action)
        Construct an InputBlocker with four immutable properties. If the Task is null or if the Task has already been executed by a TaskService, then an exception is thrown. If scope is BlockingScope.ACTION then target must be a Action. If scope is BlockingScope.WINDOW or BlockingScope.COMPONENT then target must be a Component.
        Parameters:
        task - block input while this Task is executing
        scope - how much of the GUI will be blocked
        target - the GUI element that will be blocked
        action - the @Action that triggered running the task, or null
        See Also:
        TaskService.execute(org.jdesktop.application.Task)
      • InputBlocker

        public InputBlocker​(Task task,
                            Task.BlockingScope scope,
                            java.lang.Object target)
        Construct an InputBlocker. If target is an ApplicationAction, it becomes the InputBlocker's action. If the Task is null or if the Task has already been executed by a TaskService, then an exception is thrown.
        Parameters:
        task - block input while this Task is executing
        scope - how much of the GUI will be blocked
        target - the GUI element that will be blocked
        See Also:
        TaskService.execute(org.jdesktop.application.Task)
    • Method Detail

      • getTask

        public final Task getTask()
        The block method will block input while this Task is being executed by a TaskService.
        Returns:
        the value of the read-only Task property
        See Also:
        block(), unblock()
      • getScope

        public final Task.BlockingScope getScope()
        Defines the extent to which the GUI is blocked while the task is being executed.
        Returns:
        the value of the read-only blockingScope property
        See Also:
        block(), unblock()
      • getTarget

        public final java.lang.Object getTarget()
        Specifies the GUI element that will be blocked while the task is being executed.

        This property may be null.

        Returns:
        the value of the read-only target property
        See Also:
        getScope(), block(), unblock()