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

All Methods Instance Methods Abstract Methods
`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,com.sun.jdi.connect.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 Detail

#### 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,com.sun.jdi.connect.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