package com.sap.ide.refactoring.core.execution; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.ltk.core.refactoring.Change; import org.eclipse.ltk.core.refactoring.NullChange; import org.eclipse.ltk.core.refactoring.RefactoringStatus; public class RefactoringResult { public final Change change; public final RefactoringStatus status; /** * The executed refactoring command. */ /*package*/ final CommandHandle refactoringCommandHandle; private RefactoringResult(CommandHandle refactoringCmdHandle, Change change, RefactoringStatus status) { this.refactoringCommandHandle = refactoringCmdHandle; this.change = change; this.status = status; } /** * Result describing a successful refactoring. * * @param refactoringCmdHandle * @param change * @param status */ public static RefactoringResult createResult(CommandHandle refactoringCmdHandle, Change change, RefactoringStatus status) { return new RefactoringResult(refactoringCmdHandle, change, status); } public static RefactoringResult createFailingResult(final RefactoringStatus status) { RefactoringResult result = new RefactoringResult(null, new NullChange() { @Override public RefactoringStatus isValid(IProgressMonitor pm) { return status; } }, status); assert !status.isOK() : "Severity must not be ok... this is supposed to be a crash!"; return result; } }