1 11 package org.eclipse.jdt.core.refactoring.descriptors; 12 13 import org.eclipse.core.runtime.Assert; 14 15 import org.eclipse.ltk.core.refactoring.RefactoringContribution; 16 import org.eclipse.ltk.core.refactoring.RefactoringCore; 17 import org.eclipse.ltk.core.refactoring.RefactoringStatus; 18 19 import org.eclipse.jdt.core.IMember; 20 import org.eclipse.jdt.core.IType; 21 import org.eclipse.jdt.core.refactoring.IJavaRefactorings; 22 23 import org.eclipse.jdt.internal.core.refactoring.descriptors.DescriptorMessages; 24 25 40 public final class MoveStaticMembersDescriptor extends JavaRefactoringDescriptor { 41 42 43 private static final String ATTRIBUTE_DELEGATE= "delegate"; 45 46 private static final String ATTRIBUTE_DEPRECATE= "deprecate"; 48 49 private boolean fDelegate= false; 50 51 52 private boolean fDeprecate= false; 53 54 55 private IMember[] fMembers; 56 57 58 private IType fType= null; 59 60 63 public MoveStaticMembersDescriptor() { 64 super(IJavaRefactorings.MOVE_STATIC_MEMBERS); 65 } 66 67 70 protected void populateArgumentMap() { 71 super.populateArgumentMap(); 72 fArguments.put(JavaRefactoringDescriptor.ATTRIBUTE_INPUT, elementToHandle(getProject(), fType)); 73 fArguments.put(ATTRIBUTE_DELEGATE, Boolean.valueOf(fDelegate).toString()); 74 fArguments.put(ATTRIBUTE_DEPRECATE, Boolean.valueOf(fDeprecate).toString()); 75 for (int index= 0; index < fMembers.length; index++) 76 fArguments.put(JavaRefactoringDescriptor.ATTRIBUTE_ELEMENT + (index + 1), elementToHandle(getProject(), fMembers[index])); 77 } 78 79 87 public void setDeprecateDelegate(final boolean deprecate) { 88 fDeprecate= deprecate; 89 } 90 91 97 public void setDestinationType(final IType type) { 98 Assert.isNotNull(type); 99 fType= type; 100 } 101 102 110 public void setKeepOriginal(final boolean delegate) { 111 fDelegate= delegate; 112 } 113 114 120 public void setMembers(final IMember[] members) { 121 Assert.isNotNull(members); 122 fMembers= members; 123 } 124 125 128 public RefactoringStatus validateDescriptor() { 129 final RefactoringStatus status= super.validateDescriptor(); 130 if (fType == null) 131 status.merge(RefactoringStatus.createFatalErrorStatus(DescriptorMessages.MoveStaticMembersDescriptor_no_type)); 132 if (fMembers == null) 133 status.merge(RefactoringStatus.createFatalErrorStatus(DescriptorMessages.MoveStaticMembersDescriptor_no_members)); 134 else { 135 for (int index= 0; index < fMembers.length; index++) { 136 if (fMembers[index] == null) { 137 status.merge(RefactoringStatus.createFatalErrorStatus(DescriptorMessages.MoveStaticMembersDescriptor_invalid_members)); 138 break; 139 } 140 } 141 } 142 return status; 143 } 144 } | Popular Tags |