Interface IBundleClasspathResolver


public interface IBundleClasspathResolver
Resolves dynamically generated bundle classpath entries in the context of a java project.

Generally, dynamically generated bundle classpath entries are not present under project source tree but included in the bundle as part build process. During development time such bundle classpath entries can be resolved to external jar files or workspace resources. Resolution of the same entry may change over time, similarly to how Plug-in Dependencies classpath container can switch between external bundles and workspace projects.

A resolver is declared as an extension (org.eclipse.pde.core.bundleClasspathResolvers). This extension has the following attributes:

  • nature specified nature of the projects this resolver is registered for.
  • class specifies the fully qualified name of the Java class that implements IBundleClasspathResolver.

The resolver is consulted when dynamically generated bundle is added to OSGi runtime launch and when looking up sources from the bundle.

Since:
3.8
  • Method Details

    • getAdditionalClasspathEntries

      Map<IPath,Collection<IPath>> getAdditionalClasspathEntries(IJavaProject javaProject)
      Returns a possibly empty map describing additional bundle classpath entries for a project in the workspace.

      The map key is a IPath describing the project relative path to a source directory or library. The value is the Collection of IPath locations (relative to the project or absolute) that should be added to the bundle classpath.

      Parameters:
      javaProject - the java project to collect classpath entries for
      Returns:
      additional entries to add to the bundle classpath. Map of IPath to Collection, possibly empty
    • getAdditionalSourceEntries

      Collection<IRuntimeClasspathEntry> getAdditionalSourceEntries(IJavaProject javaProject)
      Returns a possibly empty collection listing additional classpath entries for the source lookup path of a project in the workspace.

      The Collection will contain IRuntimeClasspathEntry describing locations where source can be obtained from.

      Parameters:
      javaProject - the java project to collect source entries for
      Returns:
      additional entries for the source lookup path. Collection of IRuntimeClasspathEntry, possibly empty