Package org.eclipse.net4j.util.ui.actions

## Class SafeActionDelegate

- java.lang.Object
- - org.eclipse.net4j.util.ui.actions.SafeActionDelegate

- All Implemented Interfaces:
    `IActionDelegate`
  Direct Known Subclasses:
    `LongRunningActionDelegate`

      public abstract class SafeActionDelegate
      extends java.lang.Object
      implements IActionDelegate

  Author:
    Eike Stepper

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `INTERACTIVE` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SafeActionDelegate()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `IAction` | `getAction()` |
    `ISelection` | `getSelection()` |
    `Shell` | `getShell()` |
    `protected java.lang.String` | `getText()` |
    `void` | `run​(IAction action)` |
    `protected abstract void` | `safeRun()` |
    `void` | `selectionChanged​(IAction action, ISelection selection)` |

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

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

- - ### Field Detail

    - #### INTERACTIVE

          public static final java.lang.String INTERACTIVE

      Since:
        3.5

  - ### Constructor Detail

    - #### SafeActionDelegate

          public SafeActionDelegate()

  - ### Method Detail

    - #### getShell

          public Shell getShell()

      Since:
        3.5

    - #### getAction

          public IAction getAction()

    - #### getSelection

          public ISelection getSelection()

    - #### selectionChanged

          public void selectionChanged​(IAction action,
                                       ISelection selection)

      Specified by:
        `selectionChanged` in interface `IActionDelegate`

    - #### run

          public void run​(IAction action)

      Specified by:
        `run` in interface `IActionDelegate`

    - #### safeRun

          protected abstract void safeRun()
                                   throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getText

          protected java.lang.String getText()