package sk.stuba.fiit.perconik.core.debug.listeners; import org.eclipse.core.filebuffers.IFileBuffer; import org.eclipse.core.runtime.IPath; import sk.stuba.fiit.perconik.core.debug.AbstractDebugListener; import sk.stuba.fiit.perconik.core.debug.Debug; import sk.stuba.fiit.perconik.core.debug.runtime.DebugConsole; import sk.stuba.fiit.perconik.core.listeners.FileBufferListener; public final class FileBufferDebugListener extends AbstractDebugListener implements FileBufferListener { public FileBufferDebugListener() {} public FileBufferDebugListener(final DebugConsole console) { super(console); } public void bufferCreated(final IFileBuffer buffer) { this.printHeader("File buffer created"); this.printFileBuffer(buffer); } public void bufferDisposed(final IFileBuffer buffer) { this.printHeader("File buffer disposed"); this.printFileBuffer(buffer); } public void bufferContentAboutToBeReplaced(final IFileBuffer buffer) { this.printHeader("File buffer content about to be replaced"); this.printFileBuffer(buffer); } public void bufferContentReplaced(final IFileBuffer buffer) { this.printHeader("File buffer content replaced"); this.printFileBuffer(buffer); } public void stateChanging(final IFileBuffer buffer) { this.printHeader("State changing"); this.printFileBuffer(buffer); } public void stateChangeFailed(final IFileBuffer buffer) { this.printHeader("State change failed"); this.printFileBuffer(buffer); } public void stateValidationChanged(final IFileBuffer buffer, final boolean stateValidated) { this.printHeader("State validation changed"); this.printFileBuffer(buffer); } public void dirtyStateChanged(final IFileBuffer buffer, final boolean dirty) { this.printHeader("Dirty state changed"); this.printFileBuffer(buffer); } public void underlyingFileMoved(final IFileBuffer buffer, final IPath path) { this.printHeader("Underlying file moved"); this.printFileBuffer(buffer); } public void underlyingFileDeleted(final IFileBuffer buffer) { this.printHeader("Underlying file deleted"); this.printFileBuffer(buffer); } private void printFileBuffer(final IFileBuffer buffer) { this.put(Debug.dumpFileBuffer(buffer)); } }