DekGenius.com
Previous Section  < Day Day Up >  Next Section

Recipe 4.2 Moving Elements

4.2.1 Problem

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

4.2.2 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.

4.2.3 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.

Figure 4-5. Selecting a destination
figs/ecb_0405.gif


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.

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


4.2.4 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)

    Previous Section  < Day Day Up >  Next Section