Interface IIvyProjectClassPathExtension


public interface IIvyProjectClassPathExtension
Third party can use this extension point to add classes from bundles to the
  • compile class path of an ivy project
  • to the ivy project class loader, so that the classes can be loaded through the project class loader

The method getClassLoaderContributingBundles() can be used to specify which bundles should be added to the ivy project class loader.

The method getCompileClassPathContributingBundles() can be used to specify which bundles should contribute to the ivy project compile class path. The methods getCompileClassPath(String) can be used to specify which entries of a bundle should be added to the ivy project compile class path. The method getCompileClassPathAccessRules(String) can be used to hide certain java packages of the bundle from the ivy project compile class path.

Since:
27.08.2008
API:
This is a public API.
  • Field Details

    • EXCLUDE_ALL_OTHER_RULE

      static final org.eclipse.jdt.core.IAccessRule EXCLUDE_ALL_OTHER_RULE
      Access rules that excludes all other packages
      API:
      This public API is available in Java.
  • Method Details

    • getCompileClassPathContributingBundles

      List<String> getCompileClassPathContributingBundles()
      Gets the identifiers of the bundles that contribute entries to the ivy project compile class path.
      Returns:
      list of bundle identifiers. Must not be null.
      API:
      This public API is available in Java.
    • getCompileClassPathAccessRules

      List<org.eclipse.jdt.core.IAccessRule> getCompileClassPathAccessRules(String bundleIdentifier)
      Gets the access rules for the given bundle. Access rules can be used to hide certain packages of a bundle from the java compiler. More information can be found here IAccessRule.
      Parameters:
      bundleIdentifier - the identifier of the bundle
      Returns:
      list of access rules. Never null. If an empty list is returned all packages of the bundle are accessible by the java compiler.
      See Also:
      API:
      This public API is available in Java.
    • getCompileClassPath

      List<String> getCompileClassPath(String bundleIdentifier)

      Gets the bundle entries of the given bundle identifier that should be added to the ivy project compile class path.

      If the method returns null or an empty list, the runtime class path of the bundle will be added to the project compile class path.

      If the method return not null and not an empty list, each entry in the list will be added to the project compile class path

      If the classes of the bundle are located in the root of the bundle return a "." to add the bundle itself to the project compile class path

      Parameters:
      bundleIdentifier - the bundle identifier
      Returns:
      null, emtpy list or list of bundle entries to add to the project compile class path.
      API:
      This public API is available in Java.
    • getClassLoaderContributingBundles

      List<String> getClassLoaderContributingBundles()
      Gets the identifiers of the bundles that contribute their classes to the ivy project class loader. The classes of the bundles are then loadable by the ivy project class loader.
      Returns:
      list of bundle identifiers. Must not be null.
      API:
      This public API is available in Java.