# Interface IRuntimeClasspathEntryResolver

All Known Subinterfaces:
  `IRuntimeClasspathEntryResolver2`

public interface IRuntimeClasspathEntryResolver
Resolves variable and/or container runtime classpath entries in the context of a launch configuration or Java project. A resolver can be declared as an extension (`org.eclipse.jdt.launching.runtimeClasspathEntryResolver`), or be registered with the `JavaRuntime` programmatically.

A resolver is registered for a specific classpath `VARIABLE` and/or `CONTAINER`. A resolver is consulted when a runtime classpath entry is needs to be resolved.

A resolver extension is defined in `plugin.xml`. Following is an example definition of a runtime classpath entry resolver extension.

    <extension point="org.eclipse.jdt.launching.runtimeClasspathEntryResolvers">
      <runtimeClasspathEntryResolver
         id="com.example.ExampleResolver"
         class="com.example.ExampleResolverImpl"
         variable="VAR_NAME"
         container="CONTAINER_ID"
      </runtimeClasspathEntryResolver>
    </extension>

The attributes are specified as follows:

- `id` specifies a unique identifier for this extension.
- `class` specifies the fully qualified name of the Java class that implements `IRuntimeClasspathEntryResolver`.
- `variable` name of the classpath variable this resolver is registered for.
- `container` identifier of the classpath container this resolver is registered for.

At least one of `variable` or `container` must be specified.

Clients may implement this interface.

Since:
  2.0

## Method Summary

Modifier and Type
Method
Description
`IRuntimeClasspathEntry[]`
`resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, org.eclipse.debug.core.ILaunchConfiguration configuration)`
Returns resolved runtime classpath entries for the given runtime classpath entry, in the context of the given launch configuration.
`IRuntimeClasspathEntry[]`
`resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, IJavaProject project)`
Returns resolved runtime classpath entries for the given runtime classpath entry, in the context of the given Java project.
`default IRuntimeClasspathEntry[]`
`resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, IJavaProject project, boolean excludeTestCode)`
Returns resolved runtime classpath entries for the given runtime classpath entry, in the context of the given Java project.
`IVMInstall`
`resolveVMInstall(IClasspathEntry entry)`
Returns a VM install associated with the given classpath entry, or `null` if none.

## Method Details

### resolveRuntimeClasspathEntry

IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, org.eclipse.debug.core.ILaunchConfiguration configuration) throws org.eclipse.core.runtime.CoreException
Returns resolved runtime classpath entries for the given runtime classpath entry, in the context of the given launch configuration.

Parameters:
  `entry` - runtime classpath entry to resolve, of type `VARIABLE` or `CONTAINTER`
  `configuration` - the context in which the runtime classpath entry needs to be resolved
Returns:
  resolved entries (zero or more)
Throws:
  `org.eclipse.core.runtime.CoreException` - if unable to resolve the entry

### resolveRuntimeClasspathEntry

IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, IJavaProject project) throws org.eclipse.core.runtime.CoreException
Returns resolved runtime classpath entries for the given runtime classpath entry, in the context of the given Java project.

Parameters:
  `entry` - runtime classpath entry to resolve, of type `VARIABLE` or `CONTAINTER`
  `project` - context in which the runtime classpath entry needs to be resolved
Returns:
  resolved entries (zero or more)
Throws:
  `org.eclipse.core.runtime.CoreException` - if unable to resolve the entry

### resolveRuntimeClasspathEntry

default IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, IJavaProject project, boolean excludeTestCode) throws org.eclipse.core.runtime.CoreException
Returns resolved runtime classpath entries for the given runtime classpath entry, in the context of the given Java project.

Parameters:
  `entry` - runtime classpath entry to resolve, of type `VARIABLE` or `CONTAINTER`
  `project` - context in which the runtime classpath entry needs to be resolved
  `excludeTestCode` - when true, test code should be excluded
Returns:
  resolved entries (zero or more)
Throws:
  `org.eclipse.core.runtime.CoreException` - if unable to resolve the entry
Since:
  3.10

### resolveVMInstall

IVMInstall resolveVMInstall(IClasspathEntry entry) throws org.eclipse.core.runtime.CoreException
Returns a VM install associated with the given classpath entry, or `null` if none.

Parameters:
  `entry` - classpath entry
Returns:
  vm install associated with entry or `null` if none
Throws:
  `org.eclipse.core.runtime.CoreException` - if unable to resolve a VM