com.jogamp.common.util.awt

## Class AWTEDTExecutor

- java.lang.Object
- - com.jogamp.common.util.awt.AWTEDTExecutor

- All Implemented Interfaces:
    RunnableExecutor

      public class AWTEDTExecutor
      extends Object
      implements RunnableExecutor

  AWT EDT implementation of RunnableExecutor

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.jogamp.common.util.RunnableExecutor

      `RunnableExecutor.CurrentThreadExecutor`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static AWTEDTExecutor` | `singleton` `RunnableExecutor` implementation invoking `Runnable.run()` on the AWT EDT.

    - ### Fields inherited from interface com.jogamp.common.util.RunnableExecutor

      `currentThreadExecutor`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `invoke(boolean wait, Runnable r)`
    `boolean` | `invoke(Object treeLock, boolean allowOnNonEDT, boolean wait, Runnable r)` Executes the given runnable on the AWT-EDT and return `true`, if current-thread is the AWT-EDT, or the given tree-lock is not hold by current-thread (-> invoke on AWT-EDT)

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### singleton

          public static final AWTEDTExecutor singleton

      `RunnableExecutor` implementation invoking `Runnable.run()` on the AWT EDT.

  - ### Method Detail

    - #### invoke

          public void invoke(boolean wait,
                    Runnable r)

      Specified by:
        `invoke` in interface `RunnableExecutor`
      Parameters:
        `wait` - if true method waits until `Runnable.run()` is completed, otherwise don't wait.
        `r` - the `Runnable` to be executed.

    - #### invoke

          public boolean invoke(Object treeLock,
                       boolean allowOnNonEDT,
                       boolean wait,
                       Runnable r)

      Executes the given runnable on the AWT-EDT and return `true`, if
      - current-thread is the AWT-EDT, or
      - the given tree-lock is not hold by current-thread (-> invoke on AWT-EDT)

      Otherwise execute the given runnable on the current-thread and return `true`, if `allowOnNonEDT` is `true`.
      This implies that the given tree-lock is being hold by the current-thread.

      Otherwise the runnable is not executed and `false` is returned.

      Parameters:
        `treeLock` - representing the AWT-tree-lock, i.e. `Component.getTreeLock()`
        `allowOnNonEDT` - allow execution on non AWT-EDT in case current thread is not AWT-EDT and the tree-lock is being hold
        `wait` - if true method waits until `Runnable.run()` is completed, otherwise don't wait.
        `r` - the `Runnable` to be executed.
      Returns:
        `true` if the `Runnable` has been issued for execution, otherwise `false`