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 Detail

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

      • 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:
        EXCLUDE_ALL_OTHER_RULE, JavaCore.newAccessRule(org.eclipse.core.runtime.IPath, int)
        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.