package org.xpect.xtext.lib.setup.workspace;
import java.io.IOException;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.xpect.setup.XpectSetupComponent;
import org.xpect.xtext.lib.setup.FileSetupContext;
@XpectSetupComponent
public class SrcFolder extends Container<IFolder> implements IResourceFactory<IFolder, IProject> {
private final String name;
public SrcFolder() {
this("src");
}
public SrcFolder(String name) {
super();
this.name = name;
}
public IFolder create(FileSetupContext ctx, IProject container, Workspace.Instance instance) throws IOException, CoreException {
IFolder folder = container.getFolder(name);
folder.create(false, true, new NullProgressMonitor());
configure(ctx, folder);
createMembers(ctx, folder, instance);
return folder;
}
public String getName() {
return name;
}
}