Class SelectionDispatchAction

All Implemented Interfaces:
IAction, ISelectionChangedListener
Direct Known Subclasses:
AddDelegateMethodsAction, AddGetterSetterAction, AddJavaDocStubAction, AddToClasspathAction, AddUnimplementedConstructorsAction, ChangeTypeAction, ConvertAnonymousToNestedAction, ConvertLocalToFieldAction, ConvertNestedToTopAction, ExternalizeStringsAction, ExtractClassAction, ExtractConstantAction, ExtractInterfaceAction, ExtractMethodAction, ExtractTempAction, FindAction, FindBreakContinueTargetOccurrencesAction, FindExceptionOccurrencesAction, FindImplementOccurrencesAction, FindMethodExitOccurrencesAction, FindOccurrencesInFileAction, FindStringsToExternalizeAction, FormatAllAction, GenerateHashCodeEqualsAction, GenerateNewConstructorUsingFieldsAction, GenerateToStringAction, InferTypeArgumentsAction, InlineAction, InlineTempAction, IntroduceFactoryAction, IntroduceIndirectionAction, IntroduceParameterAction, ModifyParametersAction, MoveAction, OpenAction, OpenAttachedJavadocAction, OpenImplementationAction, OpenProjectAction, OpenSuperImplementationAction, OpenTypeHierarchyAction, OrganizeImportsAction, OverrideMethodsAction, PullUpAction, PushDownAction, RefreshAction, RemoveFromClasspathAction, RenameAction, ReplaceInvocationsAction, SelfEncapsulateFieldAction, ShowInNavigatorViewAction, ShowInPackageViewAction, SortMembersAction, SurroundWithTryCatchAction, SurroundWithTryWithResourcesAction, UseSupertypeAction

public abstract class SelectionDispatchAction extends Action implements ISelectionChangedListener
Action that dispatches the IAction#run() and the ISelectionChangedListener#selectionChanged according to the type of the selection.
  • if selection is of type ITextSelection then run(ITextSelection) and selectionChanged(ITextSelection) is called.
  • if selection is of type IStructuredSelection then run(IStructuredSelection) and selectionChanged(IStructuredSelection) is called.
  • default is to call run(ISelection) and selectionChanged(ISelection).

Note: This class is not intended to be subclassed outside the JDT UI plug-in.

Since:
2.0
Restriction:
This class is not intended to be subclassed by clients.
  • Constructor Details

    • SelectionDispatchAction

      protected SelectionDispatchAction(IWorkbenchSite site)
      Creates a new action with no text and no image.

      Configure the action later using the set methods.

      Parameters:
      site - the site this action is working on
    • SelectionDispatchAction

      @Deprecated protected SelectionDispatchAction(IWorkbenchSite site, ISelectionProvider provider)
      Deprecated.
      Use setSpecialSelectionProvider(ISelectionProvider) instead. This constructor will be removed after 3.2 M5.
      Creates a new action with no text and no image

      Configure the action later using the set methods.

      Parameters:
      site - the site this action is working on
      provider - a special selection provider which is used instead of the site's selection provider or null to use the site's selection provider. Clients can for example use a ConvertingSelectionProvider to first convert a selection before passing it to the action.
      Since:
      3.2
  • Method Details

    • getSite

      public IWorkbenchSite getSite()
      Returns the site owning this action.
      Returns:
      the site owning this action
    • getSelection

      public ISelection getSelection()
      Returns the selection provided by the site owning this action.
      Returns:
      the site's selection
    • getShell

      public Shell getShell()
      Returns the shell provided by the site owning this action.
      Returns:
      the site's shell
    • getSelectionProvider

      public ISelectionProvider getSelectionProvider()
      Returns the selection provider managed by the site owning this action or the selection provider explicitly set in setSpecialSelectionProvider(ISelectionProvider).
      Returns:
      the site's selection provider
    • setSpecialSelectionProvider

      public void setSpecialSelectionProvider(ISelectionProvider provider)
      Sets a special selection provider which will be used instead of the site's selection provider. This method should be used directly after constructing the action and before the action is registered as a selection listener. The invocation will not a perform a selection change notification.
      Parameters:
      provider - a special selection provider which is used instead of the site's selection provider or null to use the site's selection provider. Clients can for example use a ConvertingSelectionProvider to first convert a selection before passing it to the action.
      Since:
      3.2
    • update

      public void update(ISelection selection)
      Updates the action's enablement state according to the given selection. This default implementation calls one of the selectionChanged methods depending on the type of the passed selection.
      Parameters:
      selection - the selection this action is working on
    • selectionChanged

      public void selectionChanged(IStructuredSelection selection)
      Notifies this action that the given structured selection has changed. This default implementation calls selectionChanged(ISelection selection).
      Parameters:
      selection - the new selection
    • run

      public void run(IStructuredSelection selection)
      Executes this actions with the given structured selection. This default implementation calls run(ISelection selection).
      Parameters:
      selection - the selection
    • selectionChanged

      public void selectionChanged(org.eclipse.jdt.internal.ui.javaeditor.JavaTextSelection selection)
      Note: This method is for internal use only. Clients should not call this method.
      Parameters:
      selection - the selection
      Restriction:
      This method is not intended to be referenced by clients.
    • run

      public void run(org.eclipse.jdt.internal.ui.javaeditor.JavaTextSelection selection)
      Note: This method is for internal use only. Clients should not call this method.
      Parameters:
      selection - the selection
      Restriction:
      This method is not intended to be referenced by clients.
    • selectionChanged

      public void selectionChanged(ITextSelection selection)
      Notifies this action that the given text selection has changed. This default implementation calls selectionChanged(ISelection selection).
      Parameters:
      selection - the new selection
    • run

      public void run(ITextSelection selection)
      Executes this actions with the given text selection. This default implementation calls run(ISelection selection).
      Parameters:
      selection - the selection
    • selectionChanged

      public void selectionChanged(ISelection selection)
      Notifies this action that the given selection has changed. This default implementation sets the action's enablement state to false.
      Parameters:
      selection - the new selection
    • run

      public void run(ISelection selection)
      Executes this actions with the given selection. This default implementation does nothing.
      Parameters:
      selection - the selection
    • run

      public void run()
      Specified by:
      run in interface IAction
      Overrides:
      run in class Action
    • selectionChanged

      public void selectionChanged(SelectionChangedEvent event)
      Specified by:
      selectionChanged in interface ISelectionChangedListener