4.2. Moving Elements

Problem

You want to reorganize your code by moving an element between classes, methods, packages, or other containers.

Solution

Select the element to move, and then select Refactor Move, or right-click and select Refactor Move. Then use the Move dialog to move the element.

Discussion

Say you want to move the printem method, currently in the Messenger class, to another class in the project, Messenger2:

package org.cookbook.ch04;

public class Messenger
{
    public static void main(String[] args)
    {
        String msg = "No problem.";
        System.out.println(msg);
    }
    
    public static void printem(String msg)
               {
               System.out.println(msg);
               }
}

To move this method to the new class, highlight the method’s name and select Refactor Move, or right-click and select Refactor Move, opening the Move Static Member(s) dialog shown in Figure 4-5.

Selecting a destination

Figure 4-5. Selecting a destination

Enter the fully qualified name of the class you want to move the method to, org.cookbook.ch04.Messenger2, or browse to it, and click OK. The method is moved to the new class:

package org.cookbook.ch04;

public class Messenger2
{

    public static void main(String[] args)
    {
    }

    public static void printem(String msg)
               {
               System.out.println(msg);
               }
}

Any references to the moved method are updated automatically as well, so your code isn’t broken:

package org.cookbook.ch04;

public class Messenger
{
    public static void main(String[] args)
    {
        String message = "No problem.";
        Messenger2.printem(message);
    }
    
}

In Eclipse, you can move a static method, static field, or instance method using refactoring.

Tip

You also can move any Java compilation units between packages using drag and drop. All missing imports will be added, and references updated.

See Also

Recipe 4.6 on comparing files against local history; Recipe 4.7 on restoring elements and files from local history; Chapter 2 of Eclipse (O’Reilly)

Get Eclipse Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.