Package org.eclipse.jdt.launching

# Interface IVMConnector

public interface IVMConnector
A VM connector establishes a JDI connection with a debuggable virtual machine. This extension point provides a mechanism for abstracting the connection to a remote virtual machine.

A VM connector extension is defined in `plugin.xml`. Following is an example definition of a VM connector extension.

     <extension point="org.eclipse.jdt.launching.vmConnectors">
       <vmConnector
          id="com.example.VMConnector"
          class="com.example.VMConnectorClass"
       </vmConnector>
     </extension>

The attributes are specified as follows:

- `id` specifies a unique identifier for this VM connector.
- `class` specifies the fully qualified name of the Java class that implements `IVMConnector`.

Since:
  2.0

## Method Summary

Modifier and Type
Method
Description
`void`
`connect(Map<String,String> arguments, IProgressMonitor monitor, ILaunch launch)`
Establishes a JDI connection with a debuggable VM using the arguments specified in the given map, contributing results (debug targets and processes), to the given launch.
`List<String>`
`getArgumentOrder()`
Returns a list of argument names found in this connector's default argument map, defining the order in which arguments should be presented to the user.
`Map<String,Connector.Argument>`
`getDefaultArguments()`
Returns a map of default arguments used by this connector.
`String`
`getIdentifier()`
Returns a unique identifier for this kind of connector.
`String`
`getName()`
Returns the name of this connector.

## Method Details

### connect

void connect(Map<String,String> arguments, IProgressMonitor monitor, ILaunch launch) throws CoreException
Establishes a JDI connection with a debuggable VM using the arguments specified in the given map, contributing results (debug targets and processes), to the given launch.

Parameters:
  `arguments` - Argument map to use in establishing a connection. The keys of the map are strings corresponding to the names of arguments returned by this connector's `getDefaultAgruments()` method. The values of the map are strings corresponding to the (String) values of the associated `com.sun.jdi.connect.Connector.Argument`s to use.
  `monitor` - progress monitor
  `launch` - launch to contribute debug target(s) and/or process(es) to
Throws:
  `CoreException` - if unable to establish a connection with the target VM

### getName

String getName()
Returns the name of this connector.

Returns:
  the name of this connector

### getIdentifier

String getIdentifier()
Returns a unique identifier for this kind of connector.

Returns:
  a unique identifier for this kind of connector

### getDefaultArguments

Map<String,Connector.Argument> getDefaultArguments() throws CoreException
Returns a map of default arguments used by this connector. The keys of the map are names of arguments used by this connector, and the values are of type `com.sun.jdi.connect.Connector.Argument`.

Returns:
  argument map with default values
Throws:
  `CoreException` - if unable to retrieve a default argument map

### getArgumentOrder

List<String> getArgumentOrder()
Returns a list of argument names found in this connector's default argument map, defining the order in which arguments should be presented to the user. Since a map is not ordered, this provides control on how arguments will be presented to the user.

Returns:
  list of argument names