KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > jdt > internal > corext > refactoring > reorg > LoggedCreateTargetChange


1 /*******************************************************************************
2  * Copyright (c) 2006 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation - initial API and implementation
10  *******************************************************************************/

11 package org.eclipse.jdt.internal.corext.refactoring.reorg;
12
13 import org.eclipse.core.runtime.CoreException;
14 import org.eclipse.core.runtime.IProgressMonitor;
15 import org.eclipse.core.runtime.OperationCanceledException;
16
17 import org.eclipse.core.resources.IResource;
18
19 import org.eclipse.ltk.core.refactoring.Change;
20 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
21
22 import org.eclipse.jdt.core.IJavaElement;
23
24 import org.eclipse.jdt.internal.corext.refactoring.Checks;
25 import org.eclipse.jdt.internal.corext.refactoring.RefactoringCoreMessages;
26 import org.eclipse.jdt.internal.corext.refactoring.base.JDTChange;
27 import org.eclipse.jdt.internal.corext.util.Messages;
28
29 import org.eclipse.jdt.ui.JavaElementLabels;
30
31 /**
32  * Change to create move targets during scripting of move refactorings.
33  *
34  * @since 3.3
35  */

36 public final class LoggedCreateTargetChange extends JDTChange {
37
38     /** The queries */
39     private final ICreateTargetQueries fQueries;
40
41     /** The selection */
42     private Object JavaDoc fSelection;
43
44     /**
45      * Creates a new logged create target change.
46      *
47      * @param selection
48      * the selection
49      * @param queries
50      * the queries
51      */

52     public LoggedCreateTargetChange(Object JavaDoc selection, ICreateTargetQueries queries) {
53         fSelection= selection;
54         fQueries= queries;
55     }
56
57     /**
58      * {@inheritDoc}
59      */

60     public Object JavaDoc getModifiedElement() {
61         return null;
62     }
63
64     /**
65      * {@inheritDoc}
66      */

67     public String JavaDoc getName() {
68         return RefactoringCoreMessages.LoggedCreateTargetChange_change_name;
69     }
70
71     /**
72      * {@inheritDoc}
73      */

74     public RefactoringStatus isValid(IProgressMonitor monitor) throws CoreException, OperationCanceledException {
75         if (fSelection instanceof IJavaElement) {
76             final IJavaElement element= (IJavaElement) fSelection;
77             if (!Checks.isAvailable(element))
78                 RefactoringStatus.createFatalErrorStatus(Messages.format(RefactoringCoreMessages.RenameResourceChange_does_not_exist, JavaElementLabels.getTextLabel(fSelection, JavaElementLabels.ALL_DEFAULT)));
79         } else if (fSelection instanceof IResource) {
80             final IResource resource= (IResource) fSelection;
81             if (!resource.exists())
82                 RefactoringStatus.createFatalErrorStatus(Messages.format(RefactoringCoreMessages.RenameResourceChange_does_not_exist, JavaElementLabels.getTextLabel(fSelection, JavaElementLabels.ALL_DEFAULT)));
83         }
84         return new RefactoringStatus();
85     }
86
87     /**
88      * {@inheritDoc}
89      */

90     public Change perform(IProgressMonitor monitor) throws CoreException {
91         fQueries.createNewPackageQuery().getCreatedTarget(fSelection);
92         return null;
93     }
94 }
95
Popular Tags