private RefactoringStatus checkFieldsForInterface() throws JavaModelException { //could be more clever and make field final if it is only written once... RefactoringStatus result= new RefactoringStatus(); for (int i= 0; i < fMembersToMove.length; i++) { if (! canMoveToInterface(fMembersToMove[i])) { String message= RefactoringCoreMessages.MoveMembersRefactoring_only_public_static; result.addError(message, JavaStatusContext.create(fMembersToMove[i])); } } return result; }
private RefactoringStatus checkMoveToInterface() throws JavaModelException { //could be more clever and make field final if it is only written once... boolean is18OrHigher= JavaModelUtil.is18OrHigher(fDestinationType.getJavaProject()); RefactoringStatus result= new RefactoringStatus(); boolean declaringIsInterface= getDeclaringType().isInterface(); if (declaringIsInterface && is18OrHigher) return result; String moveMembersMsg= is18OrHigher ? RefactoringCoreMessages.MoveMembersRefactoring_only_public_static_18 : RefactoringCoreMessages.MoveMembersRefactoring_only_public_static; for (int i= 0; i < fMembersToMove.length; i++) { if (declaringIsInterface && !(fMembersToMove[i] instanceof IMethod) && !is18OrHigher) { // moving from interface to interface is OK, unless method is moved to pre-18 } else if (!canMoveToInterface(fMembersToMove[i], is18OrHigher)) { result.addError(moveMembersMsg, JavaStatusContext.create(fMembersToMove[i])); } else if (!Flags.isPublic(fMembersToMove[i].getFlags()) && !declaringIsInterface) { result.addWarning(RefactoringCoreMessages.MoveMembersRefactoring_member_will_be_public, JavaStatusContext.create(fMembersToMove[i])); } } return result; }
private RefactoringStatus checkMoveToInterface() throws JavaModelException { //could be more clever and make field final if it is only written once... boolean is18OrHigher= JavaModelUtil.is18OrHigher(fDestinationType.getJavaProject()); RefactoringStatus result= new RefactoringStatus(); boolean declaringIsInterface= getDeclaringType().isInterface(); if (declaringIsInterface && is18OrHigher) return result; String moveMembersMsg= is18OrHigher ? RefactoringCoreMessages.MoveMembersRefactoring_only_public_static_18 : RefactoringCoreMessages.MoveMembersRefactoring_only_public_static; for (int i= 0; i < fMembersToMove.length; i++) { if (declaringIsInterface && !(fMembersToMove[i] instanceof IMethod) && !is18OrHigher) { // moving from interface to interface is OK, unless method is moved to pre-18 } else if (!canMoveToInterface(fMembersToMove[i], is18OrHigher)) { result.addError(moveMembersMsg, JavaStatusContext.create(fMembersToMove[i])); } else if (!Flags.isPublic(fMembersToMove[i].getFlags()) && !declaringIsInterface) { result.addWarning(RefactoringCoreMessages.MoveMembersRefactoring_member_will_be_public, JavaStatusContext.create(fMembersToMove[i])); } } return result; }