KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > terracotta > dso > refactoring > DeleteFieldParticipant


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package org.terracotta.dso.refactoring;
5
6 import org.eclipse.core.resources.IProject;
7 import org.eclipse.core.runtime.IProgressMonitor;
8 import org.eclipse.core.runtime.OperationCanceledException;
9 import org.eclipse.jdt.core.IField;
10 import org.eclipse.ltk.core.refactoring.Change;
11 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
12 import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
13 import org.eclipse.ltk.core.refactoring.participants.DeleteParticipant;
14
15 import org.terracotta.dso.ConfigurationHelper;
16 import org.terracotta.dso.TcPlugin;
17
18 public class DeleteFieldParticipant extends DeleteParticipant {
19   private IField fField;
20
21   public RefactoringStatus checkConditions(IProgressMonitor pm,
22                                            CheckConditionsContext context)
23     throws OperationCanceledException
24   {
25     return new RefactoringStatus();
26   }
27
28   public Change createChange(IProgressMonitor pm)
29     throws OperationCanceledException
30   {
31     return createChangesForFieldDelete(fField);
32   }
33
34   public String JavaDoc getName() {
35     return "TCDeleteFieldChange";
36   }
37
38   protected boolean initialize(Object JavaDoc element) {
39     TcPlugin plugin = TcPlugin.getDefault();
40     IField field = (IField)element;
41     IProject project = field.getJavaProject().getProject();
42     ConfigurationHelper configHelper = plugin.getConfigurationHelper(project);
43
44     if(configHelper.isRoot(field)) {
45       fField = field;
46       return true;
47     }
48
49     return false;
50   }
51
52   public static Change createChangesForFieldDelete(IField field) {
53     return new DeleteFieldChange(field);
54   }
55 }
56
Popular Tags