# Interface AttachingConnector

All Superinterfaces:
  `Connector`

public interface AttachingConnector extends Connector
A connector which attaches to a previously running target VM.

Since:
  1.3

- ## Nested Class Summary

  ### Nested classes/interfaces declared in interface Connector

  `Connector.Argument, Connector.BooleanArgument, Connector.IntegerArgument, Connector.SelectedArgument, Connector.StringArgument`
  Modifier and Type
  Interface
  Description
  `static interface`
  `Connector.Argument`
  Specification for and value of a Connector argument.
  `static interface`
  `Connector.BooleanArgument`
  Specification for and value of a Connector argument, whose value is Boolean.
  `static interface`
  `Connector.IntegerArgument`
  Specification for and value of a Connector argument, whose value is an integer.
  `static interface`
  `Connector.SelectedArgument`
  Specification for and value of a Connector argument, whose value is a String selected from a list of choices.
  `static interface`
  `Connector.StringArgument`
  Specification for and value of a Connector argument, whose value is a String.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `VirtualMachine`
  `attach(Map<String, ? extends Connector.Argument> arguments)`
  Attaches to a running application and returns a mirror of its VM.

  ### Methods declared in interface Connector

  `defaultArguments, description, name, transport`
  Modifier and Type
  Method
  Description
  `Map<String, Connector.Argument>`
  `defaultArguments()`
  Returns the arguments accepted by this Connector and their default values.
  `String`
  `description()`
  Returns a human-readable description of this connector and its purpose.
  `String`
  `name()`
  Returns a short identifier for the connector.
  `Transport`
  `transport()`
  Returns the transport mechanism used by this connector to establish connections with a target VM.

- ## Method Details

  - ### attach

    VirtualMachine attach(Map<String, ? extends Connector.Argument> arguments) throws IOException, IllegalConnectorArgumentsException
    Attaches to a running application and returns a mirror of its VM.

    The connector uses the given argument map in attaching the application. These arguments will include addressing information that identifies the VM. The argument map associates argument name strings to instances of `Connector.Argument`. The default argument map for a connector can be obtained through `Connector.defaultArguments()`. Argument map values can be changed, but map entries should not be added or deleted.

    Parameters:
      `arguments` - the argument map to be used in launching the VM.
    Returns:
      the `VirtualMachine` mirror of the target VM.
    Throws:
      `TransportTimeoutException` - when the Connector encapsulates a transport that supports a timeout when attaching, a `Connector.Argument` representing a timeout has been set in the argument map, and a timeout occurs when trying to attach to the target VM.
      `IOException` - when unable to attach. Specific exceptions are dependent on the Connector implementation in use.
      `IllegalConnectorArgumentsException` - when one of the connector arguments is invalid.