org.eclipse.wst.jsdt.launching

## Interface IRuntimeClasspathEntryResolver

All Known Subinterfaces:
  IRuntimeClasspathEntryResolver2

    public interface IRuntimeClasspathEntryResolver

Resolves variable and/or container runtime includepath entries in the context of a launch configuration or JavaScript project. A resolver can be declared as an extension (`org.eclipse.wst.jsdt.launching.runtimeClasspathEntryResolver`), or be registered with the `JavaRuntime` programmatically.

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

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

     <extension point="org.eclipse.wst.jsdt.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 JavaScript class that implements `IRuntimeClasspathEntryResolver`.
- `variable` name of the includepath variable this resolver is registered for.
- `container` identifier of the includepath container this resolver is registered for.

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

Clients may implement this interface.

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Method Summary

All Methods Instance Methods Abstract Methods
`IRuntimeClasspathEntry[]` `resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, ILaunchConfiguration configuration)` Returns resolved runtime includepath entries for the given runtime includepath entry, in the context of the given launch configuration.
`IVMInstall` `resolveVMInstall(IIncludePathEntry entry)` Returns a VM install associated with the given includepath entry, or `null` if none.

### Method Detail

#### resolveRuntimeClasspathEntry

    IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry,
                                                          ILaunchConfiguration configuration)
                                                   throws CoreException

Returns resolved runtime includepath entries for the given runtime includepath entry, in the context of the given launch configuration.

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

#### resolveVMInstall

    IVMInstall resolveVMInstall(IIncludePathEntry entry)
                         throws CoreException

Returns a VM install associated with the given includepath entry, or `null` if none.

Parameters:
  `entry` - includepath entry
Returns:
  vm install associated with entry or `null` if none
Throws:
  `CoreException` - if unable to resolve a VM