Name
|
Description
|
Rename
| Renames the selected element and
(if enabled) corrects all references to the elements (also in other
files).
Available:
| Methods, method parameters, fields, local variables,
types, type parameters, enum constants, compilation units,
packages, source folders, projects and on a text selection
resolving to one of these element types
|
Shortcut:
| Alt + Shift + R
|
Options:
| Renaming a type does allow to
rename similarly named variables and methods. Enable 'Update
similarly named variables and methods' in the Rename Type dialog.
Select 'Configure...' to configure the strategy for matching type
names.
Renaming a package does allow to rename its subpackages. Enable
'Rename subpackages' in the Rename Package dialog.
Enable 'Keep original method as delegate to changed method' to keep the original method.
Optionally you can deprecate the old method.
|
|
Move
| Moves the selected elements and
(if enabled) corrects all references to the elements (also in other
files).
Available:
| Instance method (which can be moved to a component), one
or more static methods, static fields, types, compilation units,
packages, source folders and projects and on a text selection
resolving to one of these element types
|
Shortcut:
| Alt + Shift + V
|
Options:
| You can use Drag & Drop in
the Package Explorer to start this refactoring.
|
|
Change Method Signature
| Changes parameter names, parameter types, parameter order
and updates all references to the corresponding method. Additionally,
parameters and thrown exceptions can be removed or added and method return type and
method visibility can be changed.
Available:
| Methods or on text selection resolving to a method
|
Shortcut:
| Alt + Shift + C
|
Options:
| Enable 'Keep original method as
delegate to changed method' in the Change Method Signature dialog
to keep the original method.
|
|
Extract Method
| Creates a new method containing the statements or expression
currently selected and replaces the selection with a reference to the
new method. This feature is useful for cleaning up lengthy,
cluttered, or overly-complicated methods.
Available:
| You can use Expand Selection to from the Edit menu to get a valid selection
range.
This refactoring is also available as quick assist on
statements and expressions selected in the editor.
|
Shortcut:
| Alt + Shift + M
|
|
Extract Local Variable
| Creates a new variable assigned to the expression currently
selected and replaces the selection with a reference to the new
variable.
Available:
| Text selections that resolve to local variables. You can
use Expand Selection to from the Edit menu to get a valid selection
range.
This refactoring is also available as quick assist on
expressions selected in the editor.
|
Shortcut:
| Alt + Shift + L
|
|
Extract Constant
| Creates a static final field from the selected expression
and substitutes a field reference, and optionally rewrites other
places where the same expression occurs.
Available:
| Constant expressions or text selections which resolve to
constant expressions
This refactoring is also available as quick assist on
expressions selected in the editor.
|
|
Inline
| Inline local variables, methods or constants.
Available:
| Methods, static final fields and text selections that
resolve to methods, static final fields or local variables
This refactoring is also available as quick assist on
local variables selected in the editor.
|
Shortcut:
| Alt + Shift + I
|
|
Convert Anonymous Class to Nested
| Converts an anonymous inner class to a member class.
Available:
| Anonymous inner classes
|
|
Convert Member Type to Top Level
| Creates a new Java compilation unit for the selected member
type, updating all references as needed. For non-static member types,
a field is added to allow access to the former enclosing instance, if
necessary.
Available:
| Member types or text resolving to a member type.
This refactoring is also available as quick assist on
member classes selected in the editor.
|
|
Convert Local Variable to Field
| Turn a local variable into a field. If the variable is
initialized on creation, then the operation moves the initialization
to the new field's declaration or to the class's constructors.
Available:
| Text selections that resolve to local variables.
This refactoring is also available as quick assist on
local variables selected in the editor.
|
|
Extract Superclass
| Extracts a common superclass from a set of sibling types.
The selected sibling types become direct subclasses of the extracted
superclass after applying the refactoring.
Available:
| Types
|
Options:
| Enable 'Use the extracted class
where possible' to use the newly created class wherever possible.
See Use Supertype Where Possible.
|
|
Extract Interface
| Creates a new interface with a set of methods and makes the
selected class implement the interface.
Available:
| Types
|
Options:
| Enable 'Use the extracted
interface type where possible' to use the newly created interface
wherever possible. See Use Supertype Where Possible.
|
|
Use Supertype Where Possible
| Replaces occurrences of a type with one of its supertypes
after identifying all places where this replacement is possible.
|
Push Down
| Moves a set of methods and fields from a class to its
subclasses.
Available:
| One or more methods and fields declared in the same type
or on a text selection inside a field or method
|
|
Pull Up
| Moves a field or method to a
superclass of its declaring class or (in the case of methods)
declares the method as abstract in the superclass.
Available:
| One or more methods, fields and member types declared in
the same type or on a text selection inside a field, method or
member type
|
|
Extract Class
| Replaces a set of fields with new container object. All references to the fields are
updated to access the new container object.
Available:
| The set of fields or a type containing fields
|
Options:
| Enable 'Create Getter and Setters' to add
accessor methods to the new type
|
|
Introduce Parameter Object
| Replaces a set of parameters with a new class,
and updates all callers of the method to pass an instance of the new
class as the value to the introduce parameter.
Available:
| Methods or on text selection resolving to a method
|
Options:
| Enable 'Keep original method as
delegate to changed method' in the Introduce Parameter Object dialog
to keep the original method.
|
|
Introduce Indirection
| Creates a static indirection method delegating to the
selected method.
Available:
| Methods or on text selection resolving to a method
|
Options:
| Enable 'Redirect all method
invocations' to replace all calls to the original method by calls
to the indirection method.
|
|
Introduce Factory
| Creates a new factory method, which will call a selected
constructor and return the created object. All references to the
constructor will be replaced by calls to the new factory method.
Available:
| Constructor declarations
|
|
Introduce Parameter
| Replaces an expression with a reference to a new method
parameter, and updates all callers of the method to pass the
expression as the value of that parameter.
Available:
| Text selections that resolve to expressions
|
|
Encapsulate Field
| Replaces all references to a field with getter and setter
methods.
Available:
| Field or a text selection resolving to a field.
This refactoring is also available as quick assist on
field declarations and references selected in the editor.
|
|
Generalize Declared Type
| Allows the user to choose a supertype of the reference's
current type. If the reference can be safely changed to the new type,
it is.
Available:
| Type references and declarations of fields, local
variables, and parameters with reference types
|
|
Infer Generic Type Arguments
| Replaces raw type occurrences of generic types by
parameterized types after identifying all places where this
replacement is possible.
Available:
| Projects, packages, and types
|
Options:
| 'Assume clone() returns an instance of the receiver
type'. Well-behaved classes generally respect this rule, but if
you know that your code violates it, uncheck the box.
'Leave unconstrained type arguments raw (rather than inferring
<?>)'. If there are no constraints on the elements of e.g.
ArrayList a, uncheck this box will cause Eclipse to still
provide a wildcard parameter, replacing the reference with
ArrayList<?>.
|
|
Migrate JAR File
| Migrates a JAR File on the build path of a project in your
workspace to a newer version, possibly using refactoring information
stored in the new JAR File to avoid breaking changes.
Available:
| JAR Files on build path
|
|
Create Script
| Creates a script of the refactorings that have been applied
in the workspace. Refactoring scripts can either be saved to a file
or copied to the clipboard. See Apply Script.
|
Apply Script
| Applies a refactoring script to projects in your workspace.
Refactoring scripts can either be loaded from a file or from the
clipboard. See Create Script.
|
History
| Browses the workspace refactoring history and offers the
option to delete refactorings from the refactoring history.
|