/* * Copyright (C) 2006, 2007 Dennis Hunziker, Ueli Kistler * Copyright (C) 2007 Reto Schuettel, Robin Stocker * * IFS Institute for Software, HSR Rapperswil, Switzerland * */ package org.python.pydev.refactoring.core.edit; import org.eclipse.text.edits.ReplaceEdit; import org.eclipse.text.edits.TextEdit; import org.python.pydev.core.MisconfigurationException; import org.python.pydev.refactoring.ast.visitors.rewriter.Rewriter; import org.python.pydev.refactoring.core.request.IRefactoringRequest; public abstract class AbstractReplaceEdit extends AbstractTextEdit { public AbstractReplaceEdit(IRefactoringRequest req) { super(req); } @Override public TextEdit getEdit() throws MisconfigurationException { return new ReplaceEdit(getOffset(), getReplaceLength(), getFormattedNode()); } protected String getFormattedNode() throws MisconfigurationException { String source = Rewriter.createSourceFromAST(getEditNode(), adapterPrefs); return source.trim(); } protected abstract int getReplaceLength(); }