package net.sourceforge.pmd.eclipse.runtime.cmd;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.runtime.CoreException;
/**
*
* @author Brian Remedios
*/
public class MarkerInfo2 {
private final String type;
private Map<String, Object> data;
public MarkerInfo2(String theType, int expectedSize) {
type = theType;
data = new HashMap<String, Object>(expectedSize);
}
public void add(String name, Object value) {
data.put(name, value);
}
public void add(String name, int value) {
add(name, Integer.valueOf(value));
}
public void addAsMarkerTo(IFile file) throws CoreException {
IMarker marker = file.createMarker(type);
marker.setAttributes(data.keySet().toArray(new String[data.size()]), data.values().toArray());
}
public String toString() {
return "MarkerInfo2: rule=" + data.get("rulename") + ", message=" + data.get(IMarker.MESSAGE) + ", line=" + data.get(IMarker.LINE_NUMBER);
}
}