/** * This file is licensed under the University of Illinois/NCSA Open Source License. See LICENSE.TXT for details. */ package edu.illinois.codingtracker.operations.files; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.CoreException; import org.eclipse.ui.texteditor.ITextEditor; import edu.illinois.codingtracker.helpers.Debugger; import edu.illinois.codingtracker.operations.OperationSymbols; import edu.illinois.codingtracker.operations.resources.BreakableResourceOperation; /** * Note: This is an exception in the class hierarchy, because SavedFileOperation should extends * FileOperation. But, it is needed to avoid duplicating the code required for breakable operations * (as well as creating artificial multiple inheritance in Java). * * @author Stas Negara * */ public class SavedFileOperation extends BreakableResourceOperation { public SavedFileOperation() { super(); } public SavedFileOperation(IFile savedFile, boolean success) { super(savedFile, success); } @Override protected char getOperationSymbol() { return OperationSymbols.FILE_SAVED_SYMBOL; } @Override public String getDescription() { return "Saved file"; } @Override public void replayBreakableResourceOperation() throws CoreException { ITextEditor editor= saveResourceInEditor(); if (editor == null) { Debugger.debugWarning("Ignored save of the non existent editor:\n" + this); } } }