package org.org.eclipse.dws.core.internal.jobs;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
public class ProjectWrapper {
private final IProject project;
public ProjectWrapper(IProject project) {
super();
this.project = project;
}
public IProject getProject() {
return project;
}
public IJavaProject getJavaProject() {
return JavaCore.create(project);
}
public Boolean isFacetedProject() {
if (!project.exists()) {
throw new IllegalStateException("This should not be invoked on a non-existing project");
}
if (!project.isOpen()) {
throw new IllegalStateException("This should not be invoked on a closed project");
}
boolean hasNature = false;
try {
hasNature = project.hasNature("org.eclipse.wst.common.project.facet.core.nature");
} catch (CoreException e) {
// Should not occur given the pre-conditions... though...
hasNature = false;
}
return hasNature;
}
public String getName() {
return project.getName();
}
}