/**
* Aptana Studio
* Copyright (c) 2005-2012 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license-epl.html included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package com.aptana.editor.php.core;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org2.eclipse.php.internal.core.project.options.PHPProjectOptions;
import com.aptana.core.build.UnifiedBuilder;
import com.aptana.core.util.ResourceUtil;
/**
* Aptana PHP Nature definition.
*
* @author Shalom Gibly <sgibly@aptana.com>
*/
public final class PHPNature implements IPHPNature
{
/**
* Builder ID
*/
public static final String BUILDER_ID = "com.aptana.editor.php.aptanaPhpBuilder"; //$NON-NLS-1$
/**
* The PHP Nature ID.
*/
public static final String NATURE_ID = "com.aptana.editor.php.phpNature"; //$NON-NLS-1$
private IProject fProject;
/**
* Constructs a new PHPNature class.
*/
public PHPNature()
{
}
/**
* Constructs a new PHPNature class.
*
* @param fProject
*/
public PHPNature(IProject project)
{
this.fProject = project;
}
/*
* (non-Javadoc)
* @see org.eclipse.core.resources.IProjectNature#configure()
*/
public void configure() throws CoreException
{
ResourceUtil.addBuilder(getProject(), BUILDER_ID);
ResourceUtil.addBuilder(getProject(), UnifiedBuilder.ID);
}
/*
* (non-Javadoc)
* @see org.eclipse.core.resources.IProjectNature#deconfigure()
*/
public void deconfigure() throws CoreException
{
ResourceUtil.removeBuilder(getProject(), BUILDER_ID);
ResourceUtil.removeBuilderIfOrphaned(getProject(), UnifiedBuilder.ID);
}
/*
* (non-Javadoc)
* @see org.eclipse.core.resources.IProjectNature#getProject()
*/
public IProject getProject()
{
return fProject;
}
/*
* (non-Javadoc)
* @see org.eclipse.core.resources.IProjectNature#setProject(org.eclipse.core.resources.IProject)
*/
public void setProject(IProject project)
{
this.fProject = project;
}
/*
* (non-Javadoc)
* @see com.aptana.editor.php.core.IPHPNature#getOptions()
*/
public PHPProjectOptions getOptions()
{
// TODO - Implement that later on.
return null;
}
}