blob: 1c1245aac70b5a9cf91c6ac10544d2893f9940d5 [file] [log] [blame]
package org.eclipse.jst.jsf.core.internal.project.facet;
import org.eclipse.jst.common.project.facet.core.libprov.LibraryUninstallDelegate;
import org.eclipse.wst.common.project.facet.core.ActionConfig;
import org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
/**
* Configuration for JSF facet uninstall
*
*/
public class JSFFacetUninstallConfig
extends ActionConfig
{
private LibraryUninstallDelegate librariesUninstallDelegate = null;
/**
* @return the library uninstall delegate
*/
public LibraryUninstallDelegate getLibrariesUninstallDelegate()
{
return this.librariesUninstallDelegate;
}
@Override
public void setFacetedProjectWorkingCopy( final IFacetedProjectWorkingCopy fpjwc )
{
super.setFacetedProjectWorkingCopy( fpjwc );
init();
}
@Override
public void setProjectFacetVersion( final IProjectFacetVersion fv )
{
super.setProjectFacetVersion( fv );
init();
}
private void init()
{
final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
final IProjectFacetVersion fv = getProjectFacetVersion();
if( this.librariesUninstallDelegate == null && fpjwc != null && fv != null )
{
this.librariesUninstallDelegate = new LibraryUninstallDelegate( fpjwc, fv );
}
}
/**
* The action configuration factory for the JSF facet uninstall config
*
*/
public static final class Factory
implements IActionConfigFactory
{
public Object create()
{
return new JSFFacetUninstallConfig();
}
}
}