org.schmant.project.eclipse
Interface EclipseProjectCreatorPlugin

All Superinterfaces:
Plugin
All Known Implementing Classes:
EclipseJavaProjectCreatorPlugin

public interface EclipseProjectCreatorPlugin
extends Plugin

This interface defines a Plugin that is used by the EclipseWorkspaceInfoCollector to create a Project object based on the contents of a workspace directory.

Since:
0.8
Author:
Karl Gustafsson

Field Summary
static String ECLIPSE_PROJECT_CREATOR_PLUGIN_NAME
          This is the name that this plugin is registered under in the PluginRegistry.
 
Method Summary
 Project createProject(EclipseWorkspace wos, DirectoryView workspaceDir, EclipseWorkspaceSettings settings, EclipseWorkspaceConfiguration parsedSettings, DirectoryView projectDir)
          Attempt to create a project from the contents of the supplied directory.
 

Field Detail

ECLIPSE_PROJECT_CREATOR_PLUGIN_NAME

static final String ECLIPSE_PROJECT_CREATOR_PLUGIN_NAME
This is the name that this plugin is registered under in the PluginRegistry.

See Also:
Constant Field Values
Method Detail

createProject

Project createProject(EclipseWorkspace wos,
                      DirectoryView workspaceDir,
                      EclipseWorkspaceSettings settings,
                      EclipseWorkspaceConfiguration parsedSettings,
                      DirectoryView projectDir)
                      throws IOException,
                             SchmantException
Attempt to create a project from the contents of the supplied directory.

Parameters:
wos - The Eclipse workspace that is being built.
workspaceDir - The workspace's root directory. Not locked when this method is called unless locked by the build script.
settings - Settings for the workspace. This may be null.
parsedSettings - Settings for the workspace parsed from the workspace metadata. User-supplied settings in the settings object (if any) should override these settings.
projectDir - The project directory. Not locked when this method is called unless locked by the build script.
Returns:
A Project if one can be created from the contents in the directory, otherwise null. If null is returned, the info collector will let the next registered project creator plugin try to create a project.
Throws:
IOException - On I/O errors.
SchmantException - On other errors.