Class AbstractJavaLaunchConfigurationDelegate

    • Constructor Detail

      • AbstractJavaLaunchConfigurationDelegate

        public AbstractJavaLaunchConfigurationDelegate()
    • Method Detail

      • getLaunchManager

        protected ILaunchManager getLaunchManager()
        Convenience method to get the launch manager.
        Returns:
        the launch manager
      • abort

        protected void abort​(String message,
                             Throwable exception,
                             int code)
                      throws CoreException
        Throws a core exception with an error status object built from the given message, lower level exception, and error code.
        Parameters:
        message - the status message
        exception - lower level exception associated with the error, or null if none
        code - error code
        Throws:
        CoreException - the "abort" core exception
      • getVMInstall

        public IVMInstall getVMInstall​(ILaunchConfiguration configuration)
                                throws CoreException
        Returns the VM install specified by the given launch configuration, or null if none.
        Parameters:
        configuration - launch configuration
        Returns:
        the VM install specified by the given launch configuration, or null if none
        Throws:
        CoreException - if unable to retrieve the attribute
      • getVMInstallName

        public String getVMInstallName​(ILaunchConfiguration configuration)
                                throws CoreException
        Returns the VM install name specified by the given launch configuration, or null if none.
        Parameters:
        configuration - launch configuration
        Returns:
        the VM install name specified by the given launch configuration, or null if none
        Throws:
        CoreException - if unable to retrieve the attribute
      • getVMInstallType

        public IVMInstallType getVMInstallType​(ILaunchConfiguration configuration)
                                        throws CoreException
        Returns the VM install type specified by the given launch configuration, or null if none.
        Parameters:
        configuration - launch configuration
        Returns:
        the VM install type specified by the given launch configuration, or null if none
        Throws:
        CoreException - if unable to retrieve the attribute
      • getVMInstallTypeId

        public String getVMInstallTypeId​(ILaunchConfiguration configuration)
                                  throws CoreException
        Returns the VM install type identifier specified by the given launch configuration, or null if none.
        Parameters:
        configuration - launch configuration
        Returns:
        the VM install type identifier specified by the given launch configuration, or null if none
        Throws:
        CoreException - if unable to retrieve the attribute
      • verifyVMInstall

        public IVMInstall verifyVMInstall​(ILaunchConfiguration configuration)
                                   throws CoreException
        Verifies the VM install specified by the given launch configuration exists and returns the VM install.
        Parameters:
        configuration - launch configuration
        Returns:
        the VM install specified by the given launch configuration
        Throws:
        CoreException - if unable to retrieve the attribute, the attribute is unspecified, or if the home location is unspecified or does not exist
      • getVMConnectorId

        public String getVMConnectorId​(ILaunchConfiguration configuration)
                                throws CoreException
        Returns the VM connector identifier specified by the given launch configuration, or null if none.
        Parameters:
        configuration - launch configuration
        Returns:
        the VM connector identifier specified by the given launch configuration, or null if none
        Throws:
        CoreException - if unable to retrieve the attribute
      • getBootpath

        public String[] getBootpath​(ILaunchConfiguration configuration)
                             throws CoreException
        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. The returned array is null if all entries are standard (i.e. appear by default), or empty to represent an empty bootpath.
        Parameters:
        configuration - launch configuration
        Returns:
        the bootpath specified by the given launch configuration. An empty bootpath is specified by an empty array, and null represents a default bootpath.
        Throws:
        CoreException - if unable to retrieve the attribute
      • getBootpathExt

        public String[][] getBootpathExt​(ILaunchConfiguration configuration)
                                  throws CoreException
        Returns three sets of entries which represent the boot classpath specified in the launch configuration, as an array of three arrays of resolved strings. The first array represents the classpath that should be prepended to the boot classpath. The second array represents the main part of the boot classpath -null represents the default bootclasspath. The third array represents the classpath that should be appended to the boot classpath.
        Parameters:
        configuration - launch configuration
        Returns:
        a description of the boot classpath specified by the given launch configuration.
        Throws:
        CoreException - if unable to retrieve the attribute
        Since:
        3.0
      • getClasspath

        @Deprecated
        public String[] getClasspath​(ILaunchConfiguration configuration)
                              throws CoreException
        Deprecated.
        use getClasspathAndModulepath
        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. The returned array is empty if no classpath is specified.
        Parameters:
        configuration - launch configuration
        Returns:
        the classpath specified by the given launch configuration, possibly an empty array
        Throws:
        CoreException - if unable to retrieve the attribute
      • getClasspathAndModulepath

        public String[][] getClasspathAndModulepath​(ILaunchConfiguration config)
                                             throws CoreException
        Returns the entries that should appear on the user portion of the classpath and modulepath as specified by the given launch configuration, as an array of resolved strings. The returned array is empty if no classpath and modulepath is specified.
        Parameters:
        config - launch configuration
        Returns:
        the classpath and modulepath specified by the given launch configuration, possibly an empty array
        Throws:
        CoreException - if unable to retrieve the attribute
        Since:
        3.10
      • getJavaProject

        public IJavaProject getJavaProject​(ILaunchConfiguration configuration)
                                    throws CoreException
        Returns the Java project specified by the given launch configuration, or null if none.
        Parameters:
        configuration - launch configuration
        Returns:
        the Java project specified by the given launch configuration, or null if none
        Throws:
        CoreException - if unable to retrieve the attribute
      • getJavaProjectName

        public String getJavaProjectName​(ILaunchConfiguration configuration)
                                  throws CoreException
        Returns the Java project name specified by the given launch configuration, or null if none.
        Parameters:
        configuration - launch configuration
        Returns:
        the Java project name specified by the given launch configuration, or null if none
        Throws:
        CoreException - if unable to retrieve the attribute
      • getMainTypeName

        public String getMainTypeName​(ILaunchConfiguration configuration)
                               throws CoreException
        Returns the main type name specified by the given launch configuration, or null if none.
        Parameters:
        configuration - launch configuration
        Returns:
        the main type name specified by the given launch configuration, or null if none
        Throws:
        CoreException - if unable to retrieve the attribute
      • getProgramArguments

        public String getProgramArguments​(ILaunchConfiguration configuration)
                                   throws CoreException
        Returns the program arguments specified by the given launch configuration, as a string. The returned string is empty if no program arguments are specified.
        Parameters:
        configuration - launch configuration
        Returns:
        the program arguments specified by the given launch configuration, possibly an empty string
        Throws:
        CoreException - if unable to retrieve the attribute
      • getVMArguments

        public String getVMArguments​(ILaunchConfiguration configuration)
                              throws CoreException
        Returns the VM arguments specified by the given launch configuration, as a string. The returned string is empty if no VM arguments are specified.
        Parameters:
        configuration - launch configuration
        Returns:
        the VM arguments specified by the given launch configuration, possibly an empty string
        Throws:
        CoreException - if unable to retrieve the attribute
      • getVMArguments

        public String getVMArguments​(ILaunchConfiguration configuration,
                                     String mode)
                              throws CoreException
        Returns the VM arguments specified by the given launch configuration, as a string. The returned string is empty if no VM arguments are specified.
        Parameters:
        configuration - launch configuration
        mode - the mode in which to launch, one of the mode constants defined by ILaunchManager - RUN_MODE or DEBUG_MODE.
        Returns:
        the VM arguments specified by the given launch configuration, possibly an empty string
        Throws:
        CoreException - if unable to retrieve the attribute
        Since:
        3.10
      • getVMSpecificAttributesMap

        public Map<String,​Object> getVMSpecificAttributesMap​(ILaunchConfiguration configuration)
                                                            throws CoreException
        Returns the Map of VM-specific attributes specified by the given launch configuration, or null if none.
        Parameters:
        configuration - launch configuration
        Returns:
        the Map of VM-specific attributes
        Throws:
        CoreException - if unable to retrieve the attribute
      • getWorkingDirectory

        public File getWorkingDirectory​(ILaunchConfiguration configuration)
                                 throws CoreException
        Returns the working directory specified by the given launch configuration, or null if none.
        Parameters:
        configuration - launch configuration
        Returns:
        the working directory specified by the given launch configuration, or null if none
        Throws:
        CoreException - if unable to retrieve the attribute
      • getWorkingDirectoryPath

        public IPath getWorkingDirectoryPath​(ILaunchConfiguration configuration)
                                      throws CoreException
        Returns the working directory path specified by the given launch configuration, or null if none.
        Parameters:
        configuration - launch configuration
        Returns:
        the working directory path specified by the given launch configuration, or null if none
        Throws:
        CoreException - if unable to retrieve the attribute
      • verifyJavaProject

        public IJavaProject verifyJavaProject​(ILaunchConfiguration configuration)
                                       throws CoreException
        Verifies a Java project is specified by the given launch configuration, and returns the Java project.
        Parameters:
        configuration - launch configuration
        Returns:
        the Java project specified by the given launch configuration
        Throws:
        CoreException - if unable to retrieve the attribute or the attribute is unspecified
      • verifyMainTypeName

        public String verifyMainTypeName​(ILaunchConfiguration configuration)
                                  throws CoreException
        Verifies a main type name is specified by the given launch configuration, and returns the main type name.
        Parameters:
        configuration - launch configuration
        Returns:
        the main type name specified by the given launch configuration
        Throws:
        CoreException - if unable to retrieve the attribute or the attribute is unspecified
      • verifyWorkingDirectory

        public File verifyWorkingDirectory​(ILaunchConfiguration configuration)
                                    throws CoreException
        Verifies the working directory specified by the given launch configuration exists, and returns the working directory, or null if none is specified.
        Parameters:
        configuration - launch configuration
        Returns:
        the working directory specified by the given launch configuration, or null if none
        Throws:
        CoreException - if unable to retrieve the attribute
      • isAllowTerminate

        public boolean isAllowTerminate​(ILaunchConfiguration configuration)
                                 throws CoreException
        Returns whether the given launch configuration specifies that termination is allowed.
        Parameters:
        configuration - launch configuration
        Returns:
        whether termination is allowed
        Throws:
        CoreException - if unable to retrieve the attribute
      • isStopInMain

        public boolean isStopInMain​(ILaunchConfiguration configuration)
                             throws CoreException
        Returns whether the given launch configuration specifies that execution should suspend on entry of the main method.
        Parameters:
        configuration - launch configuration
        Returns:
        whether execution should suspend in main
        Throws:
        CoreException - if unable to retrieve the attribute
        Since:
        2.1
      • setDefaultSourceLocator

        protected void setDefaultSourceLocator​(ILaunch launch,
                                               ILaunchConfiguration configuration)
                                        throws CoreException
        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.
        Parameters:
        launch - launch object
        configuration - configuration being launched
        Throws:
        CoreException - if unable to set the source locator
      • prepareStopInMain

        protected void prepareStopInMain​(ILaunchConfiguration configuration)
                                  throws CoreException
        Determines if the given launch configuration specifies the "stop-in-main" attribute, and sets up an event listener to handle the option if required.
        Parameters:
        configuration - configuration being launched
        Throws:
        CoreException - if unable to access the attribute
        Since:
        2.1
      • getVMRunner

        public IVMRunner getVMRunner​(ILaunchConfiguration configuration,
                                     String mode)
                              throws CoreException
        Returns the VM runner for the given launch mode to use when launching the given configuration.
        Parameters:
        configuration - launch configuration
        mode - launch node
        Returns:
        VM runner to use when launching the given configuration in the given mode
        Throws:
        CoreException - if a VM runner cannot be determined
        Since:
        3.1
      • getEnvironment

        public String[] getEnvironment​(ILaunchConfiguration configuration)
                                throws CoreException
        Returns an array of environment variables to be used when launching the given configuration or null if unspecified.
        Parameters:
        configuration - launch configuration
        Returns:
        an array of environment variables to use when launching the given configuration or null if unspecified
        Throws:
        CoreException - if unable to access associated attribute or if unable to resolve a variable in an environment variable's value
        Since:
        3.1
      • getJavaLibraryPath

        public String[] getJavaLibraryPath​(ILaunchConfiguration configuration)
                                    throws CoreException
        Returns an array of paths to be used for the java.library.path system property, or null if unspecified.
        Parameters:
        configuration - the config
        Returns:
        an array of paths to be used for the java.library.path system property, or null
        Throws:
        CoreException - if unable to determine the attribute
        Since:
        3.1
      • getDefaultWorkingDirectory

        protected File getDefaultWorkingDirectory​(ILaunchConfiguration configuration)
                                           throws CoreException
        Returns the default working directory for the given launch configuration, or null if none. Subclasses may override as necessary.
        Parameters:
        configuration - the config
        Returns:
        default working directory or null if none
        Throws:
        CoreException - if an exception occurs computing the default working directory
        Since:
        3.2
      • allowAdvancedSourcelookup

        protected final void allowAdvancedSourcelookup()
        Enabled advanced sourcelookup for this launch delegate. Advanced source lookup is disabled by default. This call has not effect if advanced source lookup is disabled at workspace level, i.e. advanced source lookup will remain disabled even if this method is called for the launch delegate instance.
        Since:
        3.10
      • supportsModule

        protected boolean supportsModule()
        Supports modular class for launching.
        Since:
        3.12