public abstract class AbstractJavaLaunchConfigurationDelegate extends LaunchConfigurationDelegate implements IDebugEventSetListener
Clients implementing Java launch configuration delegates should subclass this class.
complileErrorProjectPromptStatus, complileErrorPromptStatus, promptStatus, saveScopedDirtyEditors, switchToDebugPromptStatus
Constructor and Description |
---|
AbstractJavaLaunchConfigurationDelegate() |
Modifier and Type | Method and Description |
---|---|
protected void |
abort(String message,
Throwable exception,
int code)
Throws a core exception with an error status object built from the given
message, lower level exception, and error code.
|
String[] |
getBootpath(ILaunchConfiguration configuration)
Returns entries that should appear on the bootstrap portion of the
classpath as specified by the given launch configuration, as an array of
resolved strings.
|
String[][] |
getBootpathExt(ILaunchConfiguration configuration)
Returns three sets of entries which represent the boot classpath
specified in the launch configuration, as an array of three arrays of
resolved strings.
|
protected IBreakpoint[] |
getBreakpoints(ILaunchConfiguration configuration) |
protected IProject[] |
getBuildOrder(ILaunchConfiguration configuration,
String mode) |
String[] |
getClasspath(ILaunchConfiguration configuration)
Returns the entries that should appear on the user portion of the
classpath as specified by the given launch configuration, as an array of
resolved strings.
|
protected File |
getDefaultWorkingDirectory(ILaunchConfiguration configuration)
Returns the default working directory for the given launch configuration,
or
null if none. |
String[] |
getEnvironment(ILaunchConfiguration configuration)
Returns an array of environment variables to be used when
launching the given configuration or
null if unspecified. |
String[] |
getJavaLibraryPath(ILaunchConfiguration configuration)
Returns an array of paths to be used for the
java.library.path
system property, or null if unspecified. |
IJavaProject |
getJavaProject(ILaunchConfiguration configuration)
Returns the Java project specified by the given launch configuration, or
null if none. |
String |
getJavaProjectName(ILaunchConfiguration configuration)
Returns the Java project name specified by the given launch
configuration, or
null if none. |
protected ILaunchManager |
getLaunchManager()
Convenience method to get the launch manager.
|
String |
getMainTypeName(ILaunchConfiguration configuration)
Returns the main type name specified by the given launch configuration,
or
null if none. |
String |
getProgramArguments(ILaunchConfiguration configuration)
Returns the program arguments specified by the given launch
configuration, as a string.
|
protected IProject[] |
getProjectsForProblemSearch(ILaunchConfiguration configuration,
String mode) |
String |
getVMArguments(ILaunchConfiguration configuration)
Returns the VM arguments specified by the given launch configuration, as
a string.
|
String |
getVMConnectorId(ILaunchConfiguration configuration)
Returns the VM connector identifier specified by the given launch
configuration, or
null if none. |
IVMInstall |
getVMInstall(ILaunchConfiguration configuration)
Returns the VM install specified by the given launch configuration, or
null if none. |
String |
getVMInstallName(ILaunchConfiguration configuration)
Returns the VM install name specified by the given launch configuration,
or
null if none. |
IVMInstallType |
getVMInstallType(ILaunchConfiguration configuration)
Returns the VM install type specified by the given launch configuration,
or
null if none. |
String |
getVMInstallTypeId(ILaunchConfiguration configuration)
Returns the VM install type identifier specified by the given launch
configuration, or
null if none. |
IVMRunner |
getVMRunner(ILaunchConfiguration configuration,
String mode)
Returns the VM runner for the given launch mode to use when launching the
given configuration.
|
Map<String,Object> |
getVMSpecificAttributesMap(ILaunchConfiguration configuration)
Returns the Map of VM-specific attributes specified by the given launch
configuration, or
null if none. |
File |
getWorkingDirectory(ILaunchConfiguration configuration)
Returns the working directory specified by the given launch
configuration, or
null if none. |
IPath |
getWorkingDirectoryPath(ILaunchConfiguration configuration)
Returns the working directory path specified by the given launch
configuration, or
null if none. |
void |
handleDebugEvents(DebugEvent[] events)
Handles the "stop-in-main" option.
|
boolean |
isAllowTerminate(ILaunchConfiguration configuration)
Returns whether the given launch configuration specifies that termination
is allowed.
|
protected boolean |
isLaunchProblem(IMarker problemMarker) |
boolean |
isStopInMain(ILaunchConfiguration configuration)
Returns whether the given launch configuration specifies that execution
should suspend on entry of the main method.
|
boolean |
preLaunchCheck(ILaunchConfiguration configuration,
String mode,
IProgressMonitor monitor) |
protected void |
prepareStopInMain(ILaunchConfiguration configuration)
Determines if the given launch configuration specifies the "stop-in-main"
attribute, and sets up an event listener to handle the option if
required.
|
protected void |
setDefaultSourceLocator(ILaunch launch,
ILaunchConfiguration configuration)
Assigns a default source locator to the given launch if a source locator
has not yet been assigned to it, and the associated launch configuration
does not specify a source locator.
|
IJavaProject |
verifyJavaProject(ILaunchConfiguration configuration)
Verifies a Java project is specified by the given launch configuration,
and returns the Java project.
|
String |
verifyMainTypeName(ILaunchConfiguration configuration)
Verifies a main type name is specified by the given launch configuration,
and returns the main type name.
|
IVMInstall |
verifyVMInstall(ILaunchConfiguration configuration)
Verifies the VM install specified by the given launch configuration
exists and returns the VM install.
|
File |
verifyWorkingDirectory(ILaunchConfiguration configuration)
Verifies the working directory specified by the given launch
configuration exists, and returns the working directory, or
null if none is specified. |
addReferencedProjects, buildForLaunch, buildProjects, computeBuildOrder, computeReferencedBuildOrder, existsProblems, finalLaunchCheck, getLaunch, saveBeforeLaunch
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
launch
public AbstractJavaLaunchConfigurationDelegate()
protected ILaunchManager getLaunchManager()
protected void abort(String message, Throwable exception, int code) throws CoreException
message
- the status messageexception
- lower level exception associated with the error, or
null
if nonecode
- error codeCoreException
- the "abort" core exceptionpublic IVMInstall getVMInstall(ILaunchConfiguration configuration) throws CoreException
null
if none.configuration
- launch configurationnull
if noneCoreException
- if unable to retrieve the attributepublic String getVMInstallName(ILaunchConfiguration configuration) throws CoreException
null
if none.configuration
- launch configurationnull
if noneCoreException
- if unable to retrieve the attributepublic IVMInstallType getVMInstallType(ILaunchConfiguration configuration) throws CoreException
null
if none.configuration
- launch configurationnull
if noneCoreException
- if unable to retrieve the attributepublic String getVMInstallTypeId(ILaunchConfiguration configuration) throws CoreException
null
if none.configuration
- launch configurationnull
if noneCoreException
- if unable to retrieve the attributepublic IVMInstall verifyVMInstall(ILaunchConfiguration configuration) throws CoreException
configuration
- launch configurationCoreException
- if unable to retrieve the attribute, the attribute is
unspecified, or if the home location is unspecified or
does not existpublic String getVMConnectorId(ILaunchConfiguration configuration) throws CoreException
null
if none.configuration
- launch configurationnull
if noneCoreException
- if unable to retrieve the attributepublic String[] getBootpath(ILaunchConfiguration configuration) throws CoreException
null
if all
entries are standard (i.e. appear by default), or empty to represent an
empty bootpath.configuration
- launch configurationnull
represents a default bootpath.CoreException
- if unable to retrieve the attributepublic String[][] getBootpathExt(ILaunchConfiguration configuration) throws CoreException
null
represents the default
bootclasspath. The third array represents the classpath that should be
appended to the boot classpath.configuration
- launch configurationCoreException
- if unable to retrieve the attributepublic String[] getClasspath(ILaunchConfiguration configuration) throws CoreException
configuration
- launch configurationCoreException
- if unable to retrieve the attributepublic IJavaProject getJavaProject(ILaunchConfiguration configuration) throws CoreException
null
if none.configuration
- launch configurationnull
if noneCoreException
- if unable to retrieve the attributepublic String getJavaProjectName(ILaunchConfiguration configuration) throws CoreException
null
if none.configuration
- launch configurationnull
if noneCoreException
- if unable to retrieve the attributepublic String getMainTypeName(ILaunchConfiguration configuration) throws CoreException
null
if none.configuration
- launch configurationnull
if noneCoreException
- if unable to retrieve the attributepublic String getProgramArguments(ILaunchConfiguration configuration) throws CoreException
configuration
- launch configurationCoreException
- if unable to retrieve the attributepublic String getVMArguments(ILaunchConfiguration configuration) throws CoreException
configuration
- launch configurationCoreException
- if unable to retrieve the attributepublic Map<String,Object> getVMSpecificAttributesMap(ILaunchConfiguration configuration) throws CoreException
null
if none.configuration
- launch configurationMap
of VM-specific attributesCoreException
- if unable to retrieve the attributepublic File getWorkingDirectory(ILaunchConfiguration configuration) throws CoreException
null
if none.configuration
- launch configurationnull
if noneCoreException
- if unable to retrieve the attributepublic IPath getWorkingDirectoryPath(ILaunchConfiguration configuration) throws CoreException
null
if none.configuration
- launch configurationnull
if noneCoreException
- if unable to retrieve the attributepublic IJavaProject verifyJavaProject(ILaunchConfiguration configuration) throws CoreException
configuration
- launch configurationCoreException
- if unable to retrieve the attribute or the attribute is
unspecifiedpublic String verifyMainTypeName(ILaunchConfiguration configuration) throws CoreException
configuration
- launch configurationCoreException
- if unable to retrieve the attribute or the attribute is
unspecifiedpublic File verifyWorkingDirectory(ILaunchConfiguration configuration) throws CoreException
null
if none is specified.configuration
- launch configurationnull
if noneCoreException
- if unable to retrieve the attributepublic boolean isAllowTerminate(ILaunchConfiguration configuration) throws CoreException
configuration
- launch configurationCoreException
- if unable to retrieve the attributepublic boolean isStopInMain(ILaunchConfiguration configuration) throws CoreException
configuration
- launch configurationCoreException
- if unable to retrieve the attributeprotected void setDefaultSourceLocator(ILaunch launch, ILaunchConfiguration configuration) throws CoreException
launch
- launch objectconfiguration
- configuration being launchedCoreException
- if unable to set the source locatorprotected void prepareStopInMain(ILaunchConfiguration configuration) throws CoreException
configuration
- configuration being launchedCoreException
- if unable to access the attributepublic void handleDebugEvents(DebugEvent[] events)
handleDebugEvents
in interface IDebugEventSetListener
events
- the debug events.IDebugEventSetListener.handleDebugEvents(DebugEvent[])
protected IProject[] getBuildOrder(ILaunchConfiguration configuration, String mode) throws CoreException
getBuildOrder
in class LaunchConfigurationDelegate
CoreException
protected IProject[] getProjectsForProblemSearch(ILaunchConfiguration configuration, String mode) throws CoreException
getProjectsForProblemSearch
in class LaunchConfigurationDelegate
CoreException
protected boolean isLaunchProblem(IMarker problemMarker) throws CoreException
isLaunchProblem
in class LaunchConfigurationDelegate
CoreException
public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException
preLaunchCheck
in interface ILaunchConfigurationDelegate2
preLaunchCheck
in class LaunchConfigurationDelegate
CoreException
protected IBreakpoint[] getBreakpoints(ILaunchConfiguration configuration)
getBreakpoints
in class LaunchConfigurationDelegate
public IVMRunner getVMRunner(ILaunchConfiguration configuration, String mode) throws CoreException
configuration
- launch configurationmode
- launch nodeCoreException
- if a VM runner cannot be determinedpublic String[] getEnvironment(ILaunchConfiguration configuration) throws CoreException
null
if unspecified.configuration
- launch configurationCoreException
- if unable to access associated attribute or if
unable to resolve a variable in an environment variable's valuepublic String[] getJavaLibraryPath(ILaunchConfiguration configuration) throws CoreException
java.library.path
system property, or null
if unspecified.configuration
- the configjava.library.path
system property, or null
CoreException
- if unable to determine the attributeprotected File getDefaultWorkingDirectory(ILaunchConfiguration configuration) throws CoreException
null
if none. Subclasses may override as necessary.configuration
- the confignull
if noneCoreException
- if an exception occurs computing the default working
directory
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.