# Wizard based refactoring user interface

A wizard based user interface guides you through the steps necessary to execute a refactoring. A refactoring wizard consists of 1 - n parameter pages, a preview page and a problem page.

## Parameter pages

These pages gather information that is required for the refactoring. For example, the Pull Up refactoring uses two pages to gather the methods and fields to be pulled up and to gather the obsolete methods and fields in subclasses that can be deleted. The user can navigate the parameter pages using the Next > and < Back button.

After you have provided the required information, you can click Finish to carry out the refactoring without previewing the results. If you want to preview the changes press Next >.

## Preview page

The JDT allows you to preview the results of a refactoring action before you execute it.

The preview page consists of two parts:

- A tree at the top containing all Java elements affected by the refactoring. Each top-level node in the tree represents one compilation unit.

  Some refactorings allow to filter the tree by different kind of changes made by the refactoring. Use the Filter Changes drop down to change the filtering.

- A compare viewer at the bottom. The left side of the compare viewer shows the original, the right side displays the refactored source.

## Problem page

The Refactoring Problem page indicates if there are suspected, potential, or definite problems with the refactoring action you are attempting.

Four types of problems are possible:

Information
  A problem described as Information will not affect the refactoring in any way, nor will it negatively affect the code in the workbench. You can most likely ignore this type of problem.
Warnings
  Warnings attempt to predict compiler warnings. This type of problem most likely will not negatively affect the code in your workbench.
Errors
  A problem described as an Error is very likely to cause compiler errors or change your workbench code semantically. You can choose to continue with the refactoring in spite of these errors, although it is not recommended.
Stop problems
  This type of problem prevents the refactoring from taking place. For example, if you select a comment and choose the Extract Method command from it, the workbench will issue a stop problem on the refactoring attempt because you cannot extract a comment.

If there aren't any stop problems then the refactoring can be carried out by pressing the Finish button. To preview the results of the refactoring action, press the Next > button.

Refactoring support

Refactoring actions

Icons