/*
* <copyright>
* Copyright 1997-2003 PMD for Eclipse Development team
* under sponsorship of the Defense Advanced Research Projects
* Agency (DARPA).
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the Cougaar Open Source License as published by
* DARPA on the Cougaar Open Source Website (www.cougaar.org).
*
* THE COUGAAR SOFTWARE AND ANY DERIVATIVE SUPPLIED BY LICENSOR IS
* PROVIDED "AS IS" WITHOUT WARRANTIES OF ANY KIND, WHETHER EXPRESS OR
* IMPLIED, INCLUDING (BUT NOT LIMITED TO) ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND WITHOUT
* ANY WARRANTIES AS TO NON-INFRINGEMENT. IN NO EVENT SHALL COPYRIGHT
* HOLDER BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL
* DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE OF DATA OR PROFITS,
* TORTIOUS CONDUCT, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THE COUGAAR SOFTWARE.
*
* </copyright>
*/
package net.sourceforge.pmd.eclipse.ui.quickfix;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.Document;
/**
* Sample implementation of a fix that delete the line where the violation occurs.
*
* @author Philippe Herlin
*
*/
public class DeleteLineFix extends AbstractFix {
public DeleteLineFix() {
super("Delete the line");
}
/**
* @see net.sourceforge.pmd.eclipse.Fix#fix(java.lang.String, int)
*/
public String fix(String sourceCode, int lineNumber) {
final Document document = new Document(sourceCode);
try {
final int offset = document.getLineOffset(lineNumber - 1);
final int length = document.getLineLength(lineNumber - 1);
document.replace(offset, length, "");
} catch (BadLocationException e) { // NOPMD by Herlin on 11/10/06 00:20
//ignoring that exception
}
return document.get();
}
}