KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > refactoring > java > plugins > CopyTransformer


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.refactoring.java.plugins;
21
22 import com.sun.source.tree.*;
23 import javax.lang.model.element.*;
24 import org.netbeans.api.java.source.WorkingCopy;
25
26 /**
27  *
28  * @author Jan Becicka
29  */

30 public class CopyTransformer extends SearchVisitor {
31     
32     private String JavaDoc newName;
33     private boolean insertImport;
34     private String JavaDoc oldPackage;
35
36     public CopyTransformer(WorkingCopy workingCopy, String JavaDoc newName, boolean insertImport, String JavaDoc oldPackage) {
37         super(workingCopy);
38         this.newName = newName;
39         this.insertImport = insertImport;
40         this.oldPackage = oldPackage + ".*";
41     }
42     
43     @Override JavaDoc
44     public Tree visitCompilationUnit(CompilationUnitTree tree, Element p) {
45         if (!workingCopy.getTreeUtilities().isSynthetic(getCurrentPath())) {
46             if (insertImport) {
47                 Element el = workingCopy.getTrees().getElement(getCurrentPath());
48                 Tree tree2 = make.insertCompUnitImport(tree, 0, make.Import(make.Identifier(oldPackage), false));
49                 workingCopy.rewrite(tree, tree2);
50             }
51         }
52         return super.visitCompilationUnit(tree, p);
53     }
54
55     @Override JavaDoc
56     public Tree visitClass(ClassTree tree, Element p) {
57         if (!workingCopy.getTreeUtilities().isSynthetic(getCurrentPath())) {
58             //if (tree.getSimpleName().toString().equals(workingCopy.getFileObject().getName())) {
59
Tree nju = make.setLabel(tree, newName);
60             workingCopy.rewrite(tree, nju);
61             //}
62
}
63         return null;
64     }
65     
66 }
67
Popular Tags