Package org.eclipse.jdt.launching

## 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

All Methods Instance Methods Abstract Methods Default Methods
`IRuntimeClasspathEntry[]` `resolveRuntimeClasspathEntry​(IRuntimeClasspathEntry entry, 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 Detail

#### resolveRuntimeClasspathEntry

    IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry​(IRuntimeClasspathEntry entry,
                                                          ILaunchConfiguration configuration)
                                                   throws 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:
  `CoreException` - if unable to resolve the entry

#### resolveRuntimeClasspathEntry

    IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry​(IRuntimeClasspathEntry entry,
                                                          IJavaProject project)
                                                   throws 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:
  `CoreException` - if unable to resolve the entry

#### resolveRuntimeClasspathEntry

    default IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry​(IRuntimeClasspathEntry entry,
                                                                  IJavaProject project,
                                                                  boolean excludeTestCode)
                                                           throws 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:
  `CoreException` - if unable to resolve the entry
Since:
  3.10

#### resolveVMInstall

    IVMInstall resolveVMInstall​(IClasspathEntry entry)
                         throws 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:
  `CoreException` - if unable to resolve a VM