Class RefactoringWizardOpenOperation


  • public class RefactoringWizardOpenOperation
    extends Object
    A helper class to open a refactoring wizard dialog. The class first checks the initial conditions of the refactoring and depending on its outcome the wizard dialog or an error dialog is shown.

    Note: this class is not intended to be extended by clients.

    Since:
    3.0
    Restriction:
    This class is not intended to be subclassed by clients.
    • Field Detail

      • INITIAL_CONDITION_CHECKING_FAILED

        public static final int INITIAL_CONDITION_CHECKING_FAILED
        Constant (value 1025) indicating that the precondition check failed when opening a refactoring wizard dialog.
        See Also:
        run(Shell, String), Constant Field Values
    • Constructor Detail

      • RefactoringWizardOpenOperation

        public RefactoringWizardOpenOperation​(RefactoringWizard wizard)
        Creates a new refactoring wizard starter for the given wizard.

        If the wizard was created via RefactoringWizard(RefactoringContext, int), then this operation will also dispose of the context at the end of all run methods.

        Parameters:
        wizard - the wizard to open a dialog for
    • Method Detail

      • getInitialConditionCheckingStatus

        public RefactoringStatus getInitialConditionCheckingStatus()
        Returns the outcome of the initial condition checking.
        Returns:
        the outcome of the initial condition checking or null if the condition checking hasn't been performed yet
      • run

        public int run​(Shell parent,
                       String dialogTitle)
                throws InterruptedException
        Opens the refactoring dialog for the refactoring wizard passed to the constructor. The method first checks the initial conditions of the refactoring. If the condition checking returns a status with a severity of RefactoringStatus.FATAL then a message dialog is opened containing the corresponding status message. No wizard dialog is opened in this situation. If the condition checking passes then the refactoring dialog is opened.

        The methods ensures that the workspace lock is held while the condition checking, change creation and change execution is performed. Clients can't make any assumption about the thread in which these steps are executed. However the framework ensures that the workspace lock is transfered to the thread in which the execution of the steps takes place.

        Parameters:
        parent - the parent shell for the dialog or null if the dialog is a top level dialog
        dialogTitle - the dialog title of the message box presenting the failed condition check (if any)
        Returns:
        INITIAL_CONDITION_CHECKING_FAILED if the initial condition checking failed and no wizard dialog was presented. Otherwise either IDialogConstants.OK_ID or IDialogConstants.CANCEL_ID is returned depending on whether the user has pressed the OK or cancel button on the wizard dialog.
        Throws:
        InterruptedException - if the initial condition checking got canceled by the user.
      • run

        public int run​(Shell parent,
                       String dialogTitle,
                       IRunnableContext context)
                throws InterruptedException
        Opens the refactoring dialog for the refactoring wizard passed to the constructor. The method first checks the initial conditions of the refactoring. If the condition checking returns a status with a severity of RefactoringStatus.FATAL then a message dialog is opened containing the corresponding status message. No wizard dialog is opened in this situation. If the condition checking passes then the refactoring dialog is opened.

        The methods ensures that the workspace lock is held while the condition checking, change creation and change execution is performed. Clients can't make any assumption about the thread in which these steps are executed. However the framework ensures that the workspace lock is transfered to the thread in which the execution of the steps takes place.

        Parameters:
        parent - the parent shell for the dialog or null if the dialog is a top level dialog
        dialogTitle - the dialog title of the message box presenting the failed condition check (if any)
        context - the runnable context to use for conditions checking before the refactoring wizard dialog is visible. If null, the workbench window's progress service is used.
        Returns:
        INITIAL_CONDITION_CHECKING_FAILED if the initial condition checking failed and no wizard dialog was presented. Otherwise either IDialogConstants.OK_ID or IDialogConstants.CANCEL_ID is returned depending on whether the user has pressed the OK or cancel button on the wizard dialog.
        Throws:
        InterruptedException - if the initial condition checking got canceled by the user.
        Since:
        3.5