1 12 package org.eclipse.jdt.apt.core.internal.env; 13 14 import org.eclipse.core.resources.IMarker; 15 import org.eclipse.core.runtime.CoreException; 16 import org.eclipse.jdt.apt.core.internal.env.MessagerImpl.Severity; 17 18 22 public class MarkerInfo { 23 24 private final int start; 25 private final int end; 26 private final Severity severity; 27 private final String msg; 28 private final int line; 29 30 31 public MarkerInfo(final int start, 32 final int end, 33 final Severity severity, 34 final String msg, 35 final int line) 36 { 37 this.start = start; 38 this.end = end; 39 this.severity = severity; 40 this.msg = msg; 41 this.line = line; 42 } 43 44 private int getSeverity() { 45 switch (severity) { 46 case ERROR : 47 return IMarker.SEVERITY_ERROR; 48 case WARNING : 49 return IMarker.SEVERITY_WARNING; 50 case INFO : 51 return IMarker.SEVERITY_INFO; 52 } 53 throw new IllegalStateException ("Unhandled severity level: " + severity); } 55 56 public boolean isError(){ 57 return severity == Severity.ERROR; 58 } 59 60 63 public void copyIntoMarker(IMarker marker) throws CoreException { 64 marker.setAttribute(IMarker.CHAR_START, start); 65 marker.setAttribute(IMarker.CHAR_END, end); 66 marker.setAttribute(IMarker.SEVERITY, getSeverity()); 67 marker.setAttribute(IMarker.MESSAGE, msg); 68 marker.setAttribute(IMarker.LINE_NUMBER, line); 69 } 70 } 71 | Popular Tags |