/*******************************************************************************
* Copyright (c) 2013 The PDT Extension Group (https://github.com/pdt-eg)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
******************************************************************************/
package org.pdtextensions.semanticanalysis.validation;
import org.eclipse.dltk.compiler.problem.CategorizedProblem;
import org.eclipse.dltk.compiler.problem.IProblemIdentifier;
import org.eclipse.dltk.compiler.problem.ProblemSeverity;
public class Problem extends CategorizedProblem {
private int categoryId = CategorizedProblem.CAT_UNSPECIFIED;
private final IValidatorIdentifier identifier;
private String filename;
private String message;
private String[] arguments;
private int sourceStart;
private int sourceEnd;
private int lineNumber;
private ProblemSeverity severity;
public Problem(final IValidatorIdentifier identifier, ProblemSeverity severity,
int categoryId, String[] arguments, String message,
String filename, int sourceStart, int sourceEnd, int lineNumber) {
super();
//super(filename, message, identifier, arguments, severity, sourceStart, sourceEnd, lineNumber, 0);
//super(filename, message, identifier.id(), arguments, severity, sourceStart, sourceEnd, lineNumber);
this.identifier = identifier;
this.categoryId = categoryId;
this.filename = filename;
this.message = message;
this.arguments = arguments;
this.sourceStart = sourceStart;
this.sourceEnd = sourceEnd;
this.lineNumber = lineNumber;
this.severity = severity;
}
@Override
public boolean isTask() {
return false;
}
@Override
public int getCategoryID() {
return categoryId;
}
@Override
public String getMarkerType() {
return identifier.getMarkerType();
}
@Override
public String[] getArguments() {
return arguments;
}
@Override
public IProblemIdentifier getID() {
return identifier;
}
@Override
public String getMessage() {
return message;
}
@Override
public String getOriginatingFileName() {
return filename;
}
@Override
public int getSourceEnd() {
return sourceEnd;
}
@Override
public int getSourceLineNumber() {
return lineNumber;
}
@Override
public int getSourceStart() {
return sourceStart;
}
@Override
public void setSeverity(ProblemSeverity severity) {
this.severity = severity;
}
@Override
public boolean isError() {
return severity == ProblemSeverity.ERROR;
}
@Override
public boolean isWarning() {
return severity == ProblemSeverity.WARNING;
}
@Override
public void setSourceEnd(int sourceEnd) {
this.sourceEnd = sourceEnd;
}
@Override
public void setSourceLineNumber(int lineNumber) {
this.lineNumber = lineNumber;
}
@Override
public void setSourceStart(int sourceStart) {
this.sourceStart = sourceStart;
}
}