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