# Class JUnitLaunchConfigurationDelegate

java.lang.Object
org.eclipse.debug.core.model.LaunchConfigurationDelegate
org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate
org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate
org.eclipse.pde.launching.JUnitLaunchConfigurationDelegate

All Implemented Interfaces:
  `IDebugEventSetListener, ILaunchConfigurationDelegate, ILaunchConfigurationDelegate2`

public class JUnitLaunchConfigurationDelegate extends JUnitLaunchConfigurationDelegate
A launch delegate for launching JUnit Plug-in tests.

This class originally existed in 3.3 as `org.eclipse.pde.ui.launcher.JUnitLaunchConfigurationDelegate`.

Since:
  3.6

## Field Summary

Fields
Modifier and Type
Field
Description
`protected File`
`fConfigDir`
Caches the configuration directory when a launch is started

### Fields inherited from class LaunchConfigurationDelegate

`complileErrorProjectPromptStatus, complileErrorPromptStatus, promptStatus, saveScopedDirtyEditors, switchToDebugPromptStatus`

## Constructor Summary

Constructors
Constructor
Description
`JUnitLaunchConfigurationDelegate()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`abort(String message, Throwable exception, int code)`
`protected void`
`clear(ILaunchConfiguration configuration, IProgressMonitor monitor)`
Clears the workspace prior to launching if the workspace exists and the option to clear it is turned on.
`protected void`
`collectExecutionArguments(ILaunchConfiguration configuration, List<String> vmArguments, List<String> programArgs)`
`protected String`
`getApplication(ILaunchConfiguration configuration)`
Returns the application to launch plug-in tests with
`protected IProject[]`
`getBuildOrder(ILaunchConfiguration configuration, String mode)`
`String[]`
`getClasspath(ILaunchConfiguration configuration)`
Deprecated.
`String[][]`
`getClasspathAndModulepath(ILaunchConfiguration configuration)`
`protected File`
`getConfigurationDirectory(ILaunchConfiguration configuration)`
Returns the location of the configuration area
`String[]`
`getEnvironment(ILaunchConfiguration configuration)`
`String`
`getModuleCLIOptions(ILaunchConfiguration configuration)`
`String`
`getProgramArguments(ILaunchConfiguration configuration)`
`protected IProject[]`
`getProjectsForProblemSearch(ILaunchConfiguration configuration, String mode)`
`String`
`getVMArguments(ILaunchConfiguration configuration)`
`IVMRunner`
`getVMRunner(ILaunchConfiguration configuration, String mode)`
`Map<String,Object>`
`getVMSpecificAttributesMap(ILaunchConfiguration configuration)`
`File`
`getWorkingDirectory(ILaunchConfiguration configuration)`
`protected void`
`manageLaunch(ILaunch launch)`
Adds a listener to the launch to be notified at interesting launch lifecycle events such as when the launch terminates.
`protected void`
`preLaunchCheck(ILaunchConfiguration configuration, ILaunch launch, IProgressMonitor monitor)`
`protected void`
`setDefaultSourceLocator(ILaunch launch, ILaunchConfiguration configuration)`
`String`
`showCommandLine(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor)`
`protected void`
`synchronizeManifests(ILaunchConfiguration configuration, IProgressMonitor monitor)`
Checks for old-style plugin.xml files that have become stale since the last launch.
`protected void`
`validatePluginDependencies(ILaunchConfiguration configuration, IProgressMonitor monitor)`
Validates inter-bundle dependencies automatically prior to launching if that option is turned on.
`protected void`
`validateProjectDependencies(ILaunchConfiguration configuration, IProgressMonitor monitor)`
Checks if the Automated Management of Dependencies option is turned on.
`String`
`verifyMainTypeName(ILaunchConfiguration configuration)`

### Methods inherited from class JUnitLaunchConfigurationDelegate

`evaluateTests, launch`

### Methods inherited from class AbstractJavaLaunchConfigurationDelegate

`allowAdvancedSourcelookup, getBootpath, getBootpathExt, getBreakpoints, getDefaultWorkingDirectory, getJavaLibraryPath, getJavaProject, getJavaProjectName, getLaunch, getLaunchManager, getMainTypeName, getVMArguments, getVMConnectorId, getVMInstall, getVMInstallName, getVMInstallType, getVMInstallTypeId, getWorkingDirectoryPath, handleDebugEvents, isAllowTerminate, isLaunchProblem, isStopInMain, preLaunchCheck, prepareStopInMain, supportsModule, supportsPreviewFeatures, verifyJavaProject, verifyVMInstall, verifyWorkingDirectory`

### Methods inherited from class LaunchConfigurationDelegate

`addReferencedProjects, buildForLaunch, buildProjects, computeBuildOrder, computeReferencedBuildOrder, existsProblems, finalLaunchCheck, saveBeforeLaunch`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### fConfigDir

protected File fConfigDir
Caches the configuration directory when a launch is started

## Constructor Details

### JUnitLaunchConfigurationDelegate

public JUnitLaunchConfigurationDelegate()

## Method Details

### getVMRunner

public IVMRunner getVMRunner(ILaunchConfiguration configuration, String mode) throws CoreException

Overrides:
  `getVMRunner` in class `AbstractJavaLaunchConfigurationDelegate`
Throws:
  `CoreException`

### verifyMainTypeName

public String verifyMainTypeName(ILaunchConfiguration configuration) throws CoreException

Overrides:
  `verifyMainTypeName` in class `JUnitLaunchConfigurationDelegate`
Throws:
  `CoreException`

### abort

protected void abort(String message, Throwable exception, int code) throws CoreException

Overrides:
  `abort` in class `JUnitLaunchConfigurationDelegate`
Throws:
  `CoreException`

### getModuleCLIOptions

public String getModuleCLIOptions(ILaunchConfiguration configuration) throws CoreException

Overrides:
  `getModuleCLIOptions` in class `AbstractJavaLaunchConfigurationDelegate`
Throws:
  `CoreException`

### collectExecutionArguments

protected void collectExecutionArguments(ILaunchConfiguration configuration, List<String> vmArguments, List<String> programArgs) throws CoreException

Overrides:
  `collectExecutionArguments` in class `JUnitLaunchConfigurationDelegate`
Throws:
  `CoreException`

### showCommandLine

public String showCommandLine(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException

Specified by:
  `showCommandLine` in interface `ILaunchConfigurationDelegate`
Overrides:
  `showCommandLine` in class `JUnitLaunchConfigurationDelegate`
Throws:
  `CoreException`

### getApplication

protected String getApplication(ILaunchConfiguration configuration)
Returns the application to launch plug-in tests with

Parameters:
  `configuration` - The launch configuration in which the application is specified.
Returns:
  the application
Since:
  3.5

### getProgramArguments

public String getProgramArguments(ILaunchConfiguration configuration) throws CoreException

Overrides:
  `getProgramArguments` in class `AbstractJavaLaunchConfigurationDelegate`
Throws:
  `CoreException`

### getVMArguments

public String getVMArguments(ILaunchConfiguration configuration) throws CoreException

Overrides:
  `getVMArguments` in class `AbstractJavaLaunchConfigurationDelegate`
Throws:
  `CoreException`

### getEnvironment

public String[] getEnvironment(ILaunchConfiguration configuration) throws CoreException

Overrides:
  `getEnvironment` in class `AbstractJavaLaunchConfigurationDelegate`
Throws:
  `CoreException`

### getClasspath

@Deprecated public String[] getClasspath(ILaunchConfiguration configuration) throws CoreException
Deprecated.

Overrides:
  `getClasspath` in class `JUnitLaunchConfigurationDelegate`
Throws:
  `CoreException`

### getClasspathAndModulepath

public String[][] getClasspathAndModulepath(ILaunchConfiguration configuration) throws CoreException

Overrides:
  `getClasspathAndModulepath` in class `JUnitLaunchConfigurationDelegate`
Throws:
  `CoreException`

### getWorkingDirectory

public File getWorkingDirectory(ILaunchConfiguration configuration) throws CoreException

Overrides:
  `getWorkingDirectory` in class `AbstractJavaLaunchConfigurationDelegate`
Throws:
  `CoreException`

### getVMSpecificAttributesMap

public Map<String,Object> getVMSpecificAttributesMap(ILaunchConfiguration configuration) throws CoreException

Overrides:
  `getVMSpecificAttributesMap` in class `AbstractJavaLaunchConfigurationDelegate`
Throws:
  `CoreException`

### setDefaultSourceLocator

protected void setDefaultSourceLocator(ILaunch launch, ILaunchConfiguration configuration) throws CoreException

Overrides:
  `setDefaultSourceLocator` in class `AbstractJavaLaunchConfigurationDelegate`
Throws:
  `CoreException`

### getConfigurationDirectory

protected File getConfigurationDirectory(ILaunchConfiguration configuration)
Returns the location of the configuration area

Parameters:
  `configuration` - the launch configuration
Returns:
  a directory where the configuration area is located

### getBuildOrder

protected IProject[] getBuildOrder(ILaunchConfiguration configuration, String mode) throws CoreException

Overrides:
  `getBuildOrder` in class `AbstractJavaLaunchConfigurationDelegate`
Throws:
  `CoreException`

### getProjectsForProblemSearch

protected IProject[] getProjectsForProblemSearch(ILaunchConfiguration configuration, String mode) throws CoreException

Overrides:
  `getProjectsForProblemSearch` in class `AbstractJavaLaunchConfigurationDelegate`
Throws:
  `CoreException`

### manageLaunch

protected void manageLaunch(ILaunch launch)
Adds a listener to the launch to be notified at interesting launch lifecycle events such as when the launch terminates.

Parameters:
  `launch` - the launch

### preLaunchCheck

protected void preLaunchCheck(ILaunchConfiguration configuration, ILaunch launch, IProgressMonitor monitor) throws CoreException

Overrides:
  `preLaunchCheck` in class `JUnitLaunchConfigurationDelegate`
Throws:
  `CoreException`

### synchronizeManifests

protected void synchronizeManifests(ILaunchConfiguration configuration, IProgressMonitor monitor)
Checks for old-style plugin.xml files that have become stale since the last launch. For any stale plugin.xml files found, the corresponding MANIFEST.MF is deleted from the runtime configuration area so that it gets regenerated upon startup.

Parameters:
  `configuration` - the launch configuration
  `monitor` - the progress monitor

### clear

protected void clear(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException
Clears the workspace prior to launching if the workspace exists and the option to clear it is turned on. Also clears the configuration area if that option is chosen.

Parameters:
  `configuration` - the launch configuration
  `monitor` - the progress monitor
Throws:
  `CoreException` - if unable to retrieve launch attribute values
Since:
  3.3

### validateProjectDependencies

protected void validateProjectDependencies(ILaunchConfiguration configuration, IProgressMonitor monitor)
Checks if the Automated Management of Dependencies option is turned on. If so, it makes aure all manifests are updated with the correct dependencies.

Parameters:
  `configuration` - the launch configuration
  `monitor` - a progress monitor

### validatePluginDependencies

protected void validatePluginDependencies(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException
Validates inter-bundle dependencies automatically prior to launching if that option is turned on.

Parameters:
  `configuration` - the launch configuration
  `monitor` - a progress monitor
Throws:
  `CoreException`