Class Launch

    • Constructor Detail

      • Launch

        public Launch​(ILaunchConfiguration launchConfiguration,
                      String mode,
                      ISourceLocator locator)
        Constructs a launch with the specified attributes.
        Parameters:
        launchConfiguration - the configuration that was launched
        mode - the mode of this launch - run or debug (constants defined by ILaunchManager)
        locator - the source locator to use for this debug session, or null if not supported
    • Method Detail

      • getChildren

        public Object[] getChildren()
        Description copied from interface: ILaunch
        Returns the children of this launch - a collection of one or more debug targets and processes, possibly empty.
        Specified by:
        getChildren in interface ILaunch
        Returns:
        an array (element type:IDebugTarget or IProcess), or an empty array
        See Also:
        ILaunch.getChildren()
      • getDebugTarget

        public IDebugTarget getDebugTarget()
        Description copied from interface: ILaunch
        Returns the primary (first) debug target associated with this launch, or null if no debug target is associated with this launch. All debug targets associated with this launch may be retrieved by getDebugTargets().
        Specified by:
        getDebugTarget in interface ILaunch
        Returns:
        the primary debug target associated with this launch, or null
        See Also:
        ILaunch.getDebugTarget()
      • getProcesses

        public IProcess[] getProcesses()
        Description copied from interface: ILaunch
        Returns the processes that were launched, or an empty collection if no processes were launched.
        Specified by:
        getProcesses in interface ILaunch
        Returns:
        array of processes
        See Also:
        ILaunch.getProcesses()
      • getProcesses0

        protected List<IProcess> getProcesses0()
        Returns the processes associated with this launch, in its internal form - a list.
        Returns:
        list of processes
      • getSourceLocator

        public ISourceLocator getSourceLocator()
        Description copied from interface: ILaunch
        Returns the source locator to use for locating source elements for the debug target associated with this launch, or null if source lookup is not supported.
        Specified by:
        getSourceLocator in interface ILaunch
        Returns:
        the source locator
        See Also:
        ILaunch.getSourceLocator()
      • setSourceLocator

        public void setSourceLocator​(ISourceLocator sourceLocator)
        Description copied from interface: ILaunch
        Sets the source locator to use for locating source elements for the debug target associated with this launch, or null if source lookup is not supported.
        Specified by:
        setSourceLocator in interface ILaunch
        Parameters:
        sourceLocator - source locator or null
        See Also:
        ILaunch.setSourceLocator(ISourceLocator)
      • terminate

        public void terminate()
                       throws DebugException
        Description copied from interface: ITerminate
        Causes this element to terminate, generating a TERMINATE event. Implementations may be blocking or non-blocking.
        Specified by:
        terminate in interface ITerminate
        Throws:
        DebugException - on failure. Reasons include:
        • TARGET_REQUEST_FAILED - The request failed in the target
        • NOT_SUPPORTED - The capability is not supported by the target
        See Also:
        ITerminate.terminate()
      • getLaunchMode

        public String getLaunchMode()
        Description copied from interface: ILaunch
        Returns the mode of this launch - one of the mode constants defined by the launch manager.
        Specified by:
        getLaunchMode in interface ILaunch
        Returns:
        the launch mode
        See Also:
        ILaunch.getLaunchMode()
      • getAttribute

        public String getAttribute​(String key)
        Description copied from interface: ILaunch
        Returns the value of a client defined attribute.
        Specified by:
        getAttribute in interface ILaunch
        Parameters:
        key - the attribute key
        Returns:
        value the attribute value, or null if undefined
        See Also:
        ILaunch.getAttribute(String)
      • getDebugTargets

        public IDebugTarget[] getDebugTargets()
        Description copied from interface: ILaunch
        Returns all the debug targets associated with this launch, or an empty collection if no debug targets are associated with this launch. The primary debug target is the first in the collection (if any).
        Specified by:
        getDebugTargets in interface ILaunch
        Returns:
        array of debug targets
        See Also:
        ILaunch.getDebugTargets()
      • getDebugTargets0

        protected List<IDebugTarget> getDebugTargets0()
        Returns the debug targets associated with this launch, in its internal form - a list
        Returns:
        list of debug targets
      • addDebugTarget

        public void addDebugTarget​(IDebugTarget target)
        Description copied from interface: ILaunch
        Adds the given debug target to this launch. Has no effect if the given debug target is already associated with this launch. Registered listeners are notified that this launch has changed.
        Specified by:
        addDebugTarget in interface ILaunch
        Parameters:
        target - debug target to add to this launch
        See Also:
        ILaunch.addDebugTarget(IDebugTarget)
      • removeDebugTarget

        public void removeDebugTarget​(IDebugTarget target)
        Description copied from interface: ILaunch
        Removes the given debug target from this launch. Has no effect if the given debug target is not already associated with this launch. Registered listeners are notified that this launch has changed.
        Specified by:
        removeDebugTarget in interface ILaunch
        Parameters:
        target - debug target to remove from this launch
        See Also:
        ILaunch.removeDebugTarget(IDebugTarget)
      • addProcess

        public void addProcess​(IProcess process)
        Description copied from interface: ILaunch
        Adds the given process to this launch. Has no effect if the given process is already associated with this launch. Registered listeners are notified that this launch has changed.
        Specified by:
        addProcess in interface ILaunch
        Parameters:
        process - the process to add to this launch
        See Also:
        ILaunch.addProcess(IProcess)
      • removeProcess

        public void removeProcess​(IProcess process)
        Description copied from interface: ILaunch
        Removes the given process from this launch. Has no effect if the given process is not already associated with this launch. Registered listeners are notified that this launch has changed.
        Specified by:
        removeProcess in interface ILaunch
        Parameters:
        process - the process to remove from this launch
        See Also:
        ILaunch.removeProcess(IProcess)
      • addProcesses

        protected void addProcesses​(IProcess[] processes)
        Adds the given processes to this launch.
        Parameters:
        processes - processes to add
      • fireChanged

        protected void fireChanged()
        Notifies listeners that this launch has changed. Has no effect of this launch has not yet been properly created/initialized.
      • fireTerminate

        protected void fireTerminate()
        Notifies listeners that this launch has terminated. Has no effect of this launch has not yet been properly created/initialized.
      • hasChildren

        public boolean hasChildren()
        Description copied from interface: ILaunch
        Returns whether this launch contains at least one process or debug target.
        Specified by:
        hasChildren in interface ILaunch
        Returns:
        whether this launch contains at least one process or debug target
        See Also:
        ILaunch.hasChildren()
      • canDisconnect

        public boolean canDisconnect()
        Returns whether any processes or targets can be disconnected. Ones that are already terminated or disconnected are ignored.
        Specified by:
        canDisconnect in interface IDisconnect
        Returns:
        whether this element can currently disconnect
        See Also:
        IDisconnect.canDisconnect()
      • disconnect

        public void disconnect()
                        throws DebugException
        Description copied from interface: IDisconnect
        Disconnects this element from its target. Generally, disconnecting ends a debug session with a debug target, but allows the target program to continue running.
        Specified by:
        disconnect in interface IDisconnect
        Throws:
        DebugException - on failure. Reasons include:
        • TARGET_REQUEST_FAILED - The request failed in the target
        • NOT_SUPPORTED - The capability is not supported by the target
        See Also:
        IDisconnect.disconnect()
      • isDisconnected

        public boolean isDisconnected()
        Returns whether all of the contained targets and processes are disconnected. Processes that don't support disconnecting are not counted.
        Specified by:
        isDisconnected in interface IDisconnect
        Returns:
        whether this element is disconnected
        See Also:
        IDisconnect.isDisconnected()
      • launchRemoved

        public void launchRemoved​(ILaunch launch)
        Description copied from interface: ILaunchListener
        Notifies this listener that the specified launch has been removed.
        Specified by:
        launchRemoved in interface ILaunchListener
        Parameters:
        launch - the removed launch
      • getLaunchManager

        protected ILaunchManager getLaunchManager()
        Returns the launch manager.
        Returns:
        the launch manager.
      • launchAdded

        public void launchAdded​(ILaunch launch)
        Description copied from interface: ILaunchListener
        Notifies this listener that the specified launch has been added.
        Specified by:
        launchAdded in interface ILaunchListener
        Parameters:
        launch - the newly added launch
      • launchChanged

        public void launchChanged​(ILaunch launch)
        Description copied from interface: ILaunchListener
        Notifies this listener that the specified launch has changed. For example, a process or debug target has been added to the launch.
        Specified by:
        launchChanged in interface ILaunchListener
        Parameters:
        launch - the changed launch
      • launchConfigurationRemoved

        public void launchConfigurationRemoved​(ILaunchConfiguration configuration)
        Description copied from interface: ILaunchConfigurationListener
        The given launch configuration has been deleted.

        The launch configuration no longer exists. Data stored in the configuration can no longer be accessed, however handle-only attributes of the launch configuration can be retrieved.

        Specified by:
        launchConfigurationRemoved in interface ILaunchConfigurationListener
        Parameters:
        configuration - the deleted launch configuration
      • handleDebugEvents

        public void handleDebugEvents​(DebugEvent[] events)
        Description copied from interface: IDebugEventSetListener
        Notifies this listener of the given debug events. All of the events in the given event collection occurred at the same location the program be run or debugged.
        Specified by:
        handleDebugEvents in interface IDebugEventSetListener
        Parameters:
        events - the debug events
      • getAdapter

        public <T> T getAdapter​(Class<T> adapter)
        Description copied from class: PlatformObject
        Returns an object which is an instance of the given class associated with this object. Returns null if no such object can be found.

        This implementation of the method declared by IAdaptable passes the request along to the platform's adapter manager; roughly Platform.getAdapterManager().getAdapter(this, adapter). Subclasses may override this method (however, if they do so, they should invoke the method on their superclass to ensure that the Platform's adapter manager is consulted).

        Specified by:
        getAdapter in interface IAdaptable
        Overrides:
        getAdapter in class PlatformObject
        Type Parameters:
        T - the class type
        Parameters:
        adapter - the class to adapt to
        Returns:
        the adapted object or null
        See Also:
        IAdaptable.getAdapter(Class)