package tern.server.protocol.lint;
import tern.server.protocol.IJSONObjectHelper;
public class TernLintResultHelper {
private static final String MESSAGE_FIELD = "message";
private static final String MESSAGE_ID_FIELD = "id";
private static final String FILE_FIELD = "file";
private static final String LINE_NUMBER_FIELD = "lineNumber";
private static final String TO_FIELD = "to";
private static final String FROM_FIELD = "from";
private static final String FIX_FIELD = "fix";
private static final String SEVERITY_FIELD = "severity";
private static final String TEXT_FIELD = "text";
private TernLintResultHelper() {
}
public static String getMessage(Object messageObject, TernLintQuery query, IJSONObjectHelper helper) {
return query.formatMessage(helper.getText(messageObject, MESSAGE_FIELD));
}
public static String getMessageId(Object messageObject, IJSONObjectHelper helper) {
return helper.getText(messageObject, MESSAGE_ID_FIELD);
}
public static String getFile(Object messageObject, IJSONObjectHelper helper) {
return helper.getText(messageObject, FILE_FIELD);
}
public static String getSeverity(Object messageObject, IJSONObjectHelper helper) {
return helper.getText(messageObject, SEVERITY_FIELD);
}
public static Long getStart(Object messageObject, IJSONObjectHelper helper) {
return helper.getCh(messageObject, FROM_FIELD);
}
public static Long getEnd(Object messageObject, IJSONObjectHelper helper) {
return helper.getCh(messageObject, TO_FIELD);
}
public static Long getLine(Object messageObject, IJSONObjectHelper helper) {
return helper.getLong(messageObject, LINE_NUMBER_FIELD);
}
public static Fix getFix(Object messageObject, TernLintQuery query, IJSONObjectHelper helper) {
Object f = helper.getObject(messageObject, FIX_FIELD);
if (f == null) {
return null;
}
Long start = getStart(f, helper);
Long end = getEnd(f, helper);
String text = helper.getText(f, TEXT_FIELD);
return new Fix(getMessageId(messageObject, helper), start, end, text, query.getLinter());
}
}