## Uses of Interface
org.eclipse.jdt.launching.IVMInstall

Packages that use IVMInstall
org.eclipse.jdt.launching: Application programming interfaces for interaction with the Eclipse Java launching support.
org.eclipse.jdt.launching.environments: Application programming interfaces and classes for execution environments.

### Uses of IVMInstall in org.eclipse.jdt.launching

Classes in org.eclipse.jdt.launching that implement IVMInstall
`class` `AbstractVMInstall` Abstract implementation of a VM install.
`class` `VMStandin` An implementation of IVMInstall that is used for manipulating VMs without necessarily committing changes.

Methods in org.eclipse.jdt.launching that return IVMInstall
`static IVMInstall` JavaRuntime.`computeVMInstall(ILaunchConfiguration configuration)` Returns the VM install for the given launch configuration.
`IVMInstall` VMStandin.`convertToRealVM()` If no corresponding 'real' VM exists, create one and populate it from this stand-in instance.
`IVMInstall` IVMInstallType.`createVMInstall(String id)` Creates a new instance of this VM Install type.
`IVMInstall` AbstractVMInstallType.`createVMInstall(String id)`
`protected abstract IVMInstall` AbstractVMInstallType.`doCreateVMInstall(String id)` Subclasses should return a new instance of the appropriate `IVMInstall` subclass from this method.
`IVMInstall` IVMInstallType.`findVMInstall(String id)` Finds the VM with the given id.
`IVMInstall` AbstractVMInstallType.`findVMInstall(String id)`
`IVMInstall` IVMInstallType.`findVMInstallByName(String name)` Finds the VM with the given name.
`IVMInstall` AbstractVMInstallType.`findVMInstallByName(String name)`
`static IVMInstall` JavaRuntime.`getDefaultVMInstall()` Return the default VM set with `setDefaultVM()`.
`static IVMInstall` JavaRuntime.`getVMFromCompositeId(String idString)` Return the VM corresponding to the specified composite Id.
`static IVMInstall` JavaRuntime.`getVMInstall(IJavaProject project)` Returns the VM assigned to build the given Java project.
`IVMInstall` AbstractJavaLaunchConfigurationDelegate.`getVMInstall(ILaunchConfiguration configuration)` Returns the VM install specified by the given launch configuration, or `null` if none.
`static IVMInstall` JavaRuntime.`getVMInstall(IPath jreContainerPath)` Returns the JRE referenced by the specified JRE classpath container path or `null` if none.
`IVMInstall[]` IVMInstallType.`getVMInstalls()` Returns all VM instances managed by this VM type.
`IVMInstall[]` AbstractVMInstallType.`getVMInstalls()`
`IVMInstall` IRuntimeClasspathEntryResolver.`resolveVMInstall(IClasspathEntry entry)` Returns a VM install associated with the given classpath entry, or `null` if none.
`IVMInstall` AbstractJavaLaunchConfigurationDelegate.`verifyVMInstall(ILaunchConfiguration configuration)` Verifies the VM install specified by the given launch configuration exists and returns the VM install.

Methods in org.eclipse.jdt.launching with parameters of type IVMInstall
`protected String[]` AbstractVMRunner.`combineVmArgs(VMRunnerConfiguration configuration, IVMInstall vmInstall)` Combines and returns VM arguments specified by the runner configuration, with those specified by the VM install, if any.
`void` IVMInstallChangedListener.`defaultVMInstallChanged(IVMInstall previous, IVMInstall current)` Notification that the workspace default VM install has changed.
`static void` JavaRuntime.`fireVMAdded(IVMInstall vm)` Notifies all VM install changed listeners of the VM addition
`static void` JavaRuntime.`fireVMRemoved(IVMInstall vm)` Notifies all VM install changed listeners of the VM removal
`static String` JavaRuntime.`getCompositeIdFromVM(IVMInstall vm)` Returns a String that uniquely identifies the specified VM across all VM types.
`static LibraryLocation[]` JavaRuntime.`getLibraryLocations(IVMInstall vm)` Evaluates library locations for a IVMInstall.
`static IPath` JavaRuntime.`newJREContainerPath(IVMInstall vm)` Returns a path for the JRE classpath container identifying the specified VM install by type and name.
`static void` JavaRuntime.`setDefaultVMInstall(IVMInstall vm, IProgressMonitor monitor)` Sets a VM as the system-wide default VM, and notifies registered VM install change listeners of the change.
`static void` JavaRuntime.`setDefaultVMInstall(IVMInstall vm, IProgressMonitor monitor, boolean savePreference)` Sets a VM as the system-wide default VM, and notifies registered VM install change listeners of the change.
`void` IVMInstallChangedListener.`vmAdded(IVMInstall vm)` Notification that a VM has been created.
`void` IVMInstallChangedListener.`vmRemoved(IVMInstall vm)` Notification that a VM has been disposed.

Constructors in org.eclipse.jdt.launching with parameters of type IVMInstall
Constructor and Description
`VMStandin(IVMInstall realVM)` Construct a `VMStandin` instance based on the specified `IVMInstall`.
`VMStandin(IVMInstall sourceVM, String id)` Constructs a copy of the specified VM with the given identifier.

### Uses of IVMInstall in org.eclipse.jdt.launching.environments

Methods in org.eclipse.jdt.launching.environments that return IVMInstall
`IVMInstall[]` IExecutionEnvironment.`getCompatibleVMs()` Returns a collection of VM installs compatible with this environment, possibly empty.
`IVMInstall` IExecutionEnvironment.`getDefaultVM()` Returns the VM that is used by default for this execution environment, or `null` if none.

Methods in org.eclipse.jdt.launching.environments with parameters of type IVMInstall
`CompatibleEnvironment[]` IExecutionEnvironmentAnalyzerDelegate.`analyze(IVMInstall vm, IProgressMonitor monitor)` Analyzes the given vm install and returns a collection of compatible execution environments, possibly empty.
`IAccessRule[][]` IAccessRuleParticipant.`getAccessRules(IExecutionEnvironment environment, IVMInstall vm, LibraryLocation[] libraries, IJavaProject project)` Returns a collection of access rules to be applied to the specified VM libraries and execution environment in the context of the given project.
`IAccessRule[][]` IExecutionEnvironment.`getAccessRules(IVMInstall vm, LibraryLocation[] libraries, IJavaProject project)` Returns a collection of access rules to be applied to the specified VM libraries for this execution environment in the context of the given project.
`boolean` IExecutionEnvironment.`isStrictlyCompatible(IVMInstall vm)` Returns whether the specified VM install is strictly compatible with this environment.
`void` IExecutionEnvironment.`setDefaultVM(IVMInstall vm)` Sets the VM to use by default for this execution environment.