Package org.playframework.playclipse.builder

Source Code of org.playframework.playclipse.builder.ErrorChecker

package org.playframework.playclipse.builder;

import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
import org.playframework.playclipse.ModelInspector;
import org.playframework.playclipse.PlayPlugin;

public abstract class ErrorChecker {

  protected IFile file;
  private String preference;

  public ErrorChecker() {}

  public ErrorChecker(IFile file) {
    this.file = file;
    this.preference = null;
  }

  public ErrorChecker(IFile file, String preference) {
    this.file = file;
    this.preference = preference;
  }

  protected IMarker addMarker(String message, int lineNumber, int severity) throws CoreException {
    IMarker marker = file.createMarker(IMarker.PROBLEM);
    marker.setAttribute(IMarker.MESSAGE, message);
    marker.setAttribute(IMarker.SEVERITY, severity);
    if (lineNumber == -1) {
      lineNumber = 1;
    }
    marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
    return marker;
  }

  protected IMarker addMarker(String message, int lineNumber, int severity, int begin, int end) throws CoreException {
    IMarker marker = addMarker(message, lineNumber, severity);
    marker.setAttribute(IMarker.CHAR_START, begin);
    marker.setAttribute(IMarker.CHAR_END, end);
    return marker;
  }

  protected int getSeverity() {
    String severityStr = PlayPlugin.getDefault().getPreferenceStore().getString(preference);
    if (severityStr.equals("warning")) return IMarker.SEVERITY_WARNING;
    if (severityStr.equals("error")) return IMarker.SEVERITY_ERROR;
    return -1;
  }

  public abstract void check();

  private IJavaProject javaProject = null;
  private ModelInspector inspector = null;

  protected IJavaProject getJavaProject() {
    if (javaProject == null) javaProject = JavaCore.create(getProject());
    return javaProject;
  }

  protected ModelInspector getInspector() {
    if (inspector == null) inspector = new ModelInspector(getJavaProject());
    return inspector;
  }

  protected IProject getProject() {
    IContainer container = file.getParent();
    while (container != null) {
      if (container instanceof IProject) {
        return (IProject)container;
      }
      container = container.getParent();
    }
    // Should not happen
    return null;
  }

}
TOP

Related Classes of org.playframework.playclipse.builder.ErrorChecker

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.