blob: bb0119a62cfa72d0c7373c51703e21f6b989b3c0 [file] [log] [blame]
/*
* Copyright 2011 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.dev.javac;
import org.eclipse.jdt.core.compiler.CategorizedProblem;
import java.io.Serializable;
/**
* Provides a way to serialize a {@link CategorizedProblem}.
*/
public class SerializableCategorizedProblem extends CategorizedProblem implements Serializable {
private final int categoryId;
private final String markerType;
private final String[] arguments;
private final String message;
private final char[] originatingFileName;
private final int sourceEnd;
private final int sourceLineNumber;
private final int sourceStart;
private final boolean isError;
private final boolean isWarning;
private final String formattedString;
SerializableCategorizedProblem(CategorizedProblem problem) {
this.categoryId = problem.getCategoryID();
this.markerType = problem.getMarkerType();
this.arguments = problem.getArguments();
this.message = problem.getMessage();
this.originatingFileName = problem.getOriginatingFileName();
this.sourceEnd = problem.getSourceEnd();
this.sourceLineNumber = problem.getSourceLineNumber();
this.sourceStart = problem.getSourceStart();
this.isError = problem.isError();
this.isWarning = problem.isWarning();
this.formattedString = problem.toString();
}
@Override
public String[] getArguments() {
return arguments;
}
@Override
public int getCategoryID() {
return categoryId;
}
@Override
public int getID() {
return categoryId;
}
@Override
public String getMarkerType() {
return markerType;
}
@Override
public String getMessage() {
return message;
}
@Override
public char[] getOriginatingFileName() {
return originatingFileName;
}
@Override
public int getSourceEnd() {
return sourceEnd;
}
@Override
public int getSourceLineNumber() {
return sourceLineNumber;
}
@Override
public int getSourceStart() {
return sourceStart;
}
@Override
public boolean isError() {
return isError;
}
@Override
public boolean isWarning() {
return isWarning;
}
@Override
public void setSourceEnd(int sourceEnd) {
throw new RuntimeException("read only object");
}
@Override
public void setSourceLineNumber(int lineNumber) {
throw new RuntimeException("read only object");
}
@Override
public void setSourceStart(int sourceStart) {
throw new RuntimeException("read only object");
}
@Override
public String toString() {
return formattedString;
}
}