# com.bea.ide.workspace.project
IRunDriver Interface

public interface IRunDriver
extends `IProjectDriver`

This driver implements project type-specific run operations on an instance of an IProject.

Project types and their associated drivers are registered with the IDE at startup using extension xml. All project driver implementations must provide a public constructor that takes an IProject reference. See `WorkspaceSvc``` for more information about the XML to register a project driver.

All Superinterfaces
  `IProjectDriver`

## Method Summary

`public void` | `doEnableChecks`() Called to tell the driver to update the enabled states for the Run, RunWithDebug and Stop buttons.
`public void` | `gainedCurrent`() Called whenever the current project is given control of the Run, RunWithDebug, and Stop buttons.
`public `IRunPreferences`[]` | `getPreferences`() Called when we are showing the preferences panel.
`public boolean` | `isRunnable`() Returns whether the given project is capable of being run.
`public void` | `lostCurrent`() Called whenever the current project is losing control of the Run, RunWithDebug and Stop buttons.
`public void` | `onPreferencesSaved`() Called when a user saves a new set of preferences.
`public boolean` | `runFile`(`URI` fileToRun, boolean fRunWithDebugging) Called when you need an action to bypass the default project run action, and specifically run the current file.
`public boolean` | `runProject`(boolean fRunWithDebugging) Called when the user pressed the play button, and this is the current project.
`public void` | `shutDown`() Called before the application owning this project goes away.
`public boolean` | `stopProject`() Called when the currently running project should be stopped.

Methods from interface `com.bea.ide.workspace.project.`IProjectDriver``
``activate`, `deactivate``

## Method Detail

### doEnableChecks() Method

    public void doEnableChecks()

Called to tell the driver to update the enabled states for the Run, RunWithDebug and Stop buttons.

### gainedCurrent() Method

    public void gainedCurrent()

Called whenever the current project is given control of the Run, RunWithDebug, and Stop buttons. Evey gainedCurrent will be paired with a lostCurrent when after another project is given control of the Run, RunWithDebug, and Stop buttons.

### getPreferences() Method

    public IRunPreferences[] getPreferences()

Called when we are showing the preferences panel.

#### Returns

the set of IRunPreferences this driver supports.

### isRunnable() Method

    public boolean isRunnable()

Returns whether the given project is capable of being run.

#### Returns

true -- the project is runnable false-- the project is no runnable

### lostCurrent() Method

    public void lostCurrent()

Called whenever the current project is losing control of the Run, RunWithDebug and Stop buttons. This can happen when the user opens a file in another project or when another project gets run. This function can get called after `IProjectDriver.deactivate` is called.

### onPreferencesSaved() Method

    public void onPreferencesSaved()

Called when a user saves a new set of preferences.

### runFile(URI, boolean) Method

    public boolean runFile(URI fileToRun,
                           boolean fRunWithDebugging)

Called when you need an action to bypass the default project run action, and specifically run the current file. This will bypass any delegation to parent files or dialogs about potential other files to run.

#### Parameters

fileToRun
  -- The file to run

fRunWithDebugging
  -- Whether we shoudl run with debugging turned on

#### Returns

true -- everything started O.K. false-- there were errors starting

### runProject(boolean) Method

    public boolean runProject(boolean fRunWithDebugging)

Called when the user pressed the play button, and this is the current project. The driver should start the project running.

#### Parameters

fRunWithDebugging
  -- Whether we shoudl run with debugging turned on

#### Returns

true -- everything started O.K. false-- there were errors starting

### shutDown() Method

    public void shutDown()

Called before the application owning this project goes away.

### stopProject() Method

    public boolean stopProject()

Called when the currently running project should be stopped.

#### Returns

true -- everything stopped O.K. false-- there were errors starting