1 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 36 public final class LoggedCreateTargetChange extends JDTChange { 37 38 39 private final ICreateTargetQueries fQueries; 40 41 42 private Object fSelection; 43 44 52 public LoggedCreateTargetChange(Object selection, ICreateTargetQueries queries) { 53 fSelection= selection; 54 fQueries= queries; 55 } 56 57 60 public Object getModifiedElement() { 61 return null; 62 } 63 64 67 public String getName() { 68 return RefactoringCoreMessages.LoggedCreateTargetChange_change_name; 69 } 70 71 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 90 public Change perform(IProgressMonitor monitor) throws CoreException { 91 fQueries.createNewPackageQuery().getCreatedTarget(fSelection); 92 return null; 93 } 94 } 95 | Popular Tags |