package com.technophobia.substeps.nature; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProjectNature; import org.eclipse.core.runtime.CoreException; import com.technophobia.eclipse.project.nature.ProjectNatureUpdater; import com.technophobia.substeps.FeatureEditorPlugin; public class SubstepsNature implements IProjectNature { public static final String NATURE_ID = "com.technophobia.substeps.editor.substepsNature"; private IProject project; private static final ProjectNatureUpdater PROJECT_NATURE_UPDATER = new ProjectNatureUpdater(NATURE_ID); public static boolean isSubstepsProject(final IProject project) { try { return project.hasNature(NATURE_ID); } catch (final CoreException ex) { FeatureEditorPlugin.instance().error( "Could not determine whether project " + project.getName() + " is a substeps project", ex); return false; } } public static void ensureProjectHasNature(final IProject project) { PROJECT_NATURE_UPDATER.ensureProjectHasNature(project); } public static void ensureProjectDoesNotHaveNature(final IProject project) { PROJECT_NATURE_UPDATER.ensureProjectDoesNotHaveNature(project); } @Override public void configure() throws CoreException { // No-op } @Override public void deconfigure() throws CoreException { // No-op } @Override public IProject getProject() { return project; } @Override public void setProject(final IProject project) { this.project = project; } }