Interface ILibraryService


  • public interface ILibraryService
    Interface for the Library Service. It provides a platform service for dynamic loading and unloading of classes, libraries and resources.
    • Method Detail

      • removeResourceIdentifier

        IFuture<java.lang.Void> removeResourceIdentifier​(IResourceIdentifier parid,
                                                         IResourceIdentifier rid)
        Remove a resource identifier.
        Parameters:
        parid - The optional parent rid.
        url - The resource identifier.
      • getAllResourceIdentifiers

        IFuture<java.util.List<IResourceIdentifier>> getAllResourceIdentifiers()
        Get all resource identifiers (does not include rids (urls) of parent loader).
        Returns:
        The list of resource identifiers.
      • getClassLoader

        IFuture<java.lang.ClassLoader> getClassLoader​(IResourceIdentifier rid)
        Returns the classloader for a resource identifier.
        Parameters:
        rid - The resource identifier.
        Returns:
        The classloader.
      • getClassLoader

        IFuture<java.lang.ClassLoader> getClassLoader​(IResourceIdentifier rid,
                                                      boolean workspace)
        Returns the classloader for a resource identifier.
        Parameters:
        rid - The resource identifier.
        workspace - True if workspace resolution is ok.
        Returns:
        The classloader.
      • removeURL

        IFuture<java.lang.Void> removeURL​(IResourceIdentifier parid,
                                          java.net.URL url)
        Remove a url.
        Parameters:
        parid - The resource identifier (null for root entry).
        url - The url.
      • getResourceIdentifier

        IFuture<IResourceIdentifier> getResourceIdentifier​(java.net.URL url)
        Returns the resource identifier for a url.
        Parameters:
        url - The url.
        Returns:
        The corresponding resource identifier.
      • getRootResourceIdentifier

        IResourceIdentifier getRootResourceIdentifier()
        Get the top-level resource identifier.
        Parameters:
        url - The url.
        Returns:
        The corresponding resource identifier.
      • addTopLevelURL

        IFuture<java.lang.Void> addTopLevelURL​(java.net.URL url)
        Add a top level url. A top level url will be available for all subordinated resources.
        Parameters:
        url - The url.
      • removeTopLevelURL

        IFuture<java.lang.Void> removeTopLevelURL​(java.net.URL url)
        Remove a top level url. A top level url will be available for all subordinated resources.
        Parameters:
        url - The url. note: top level url removal will only take effect after restart of the platform.
      • getNonManagedURLs

        IFuture<java.util.List<java.net.URL>> getNonManagedURLs()
        Get other contained (but not directly managed) urls from parent classloaders.
        Returns:
        The list of urls.
      • getAllURLs

        IFuture<java.util.List<java.net.URL>> getAllURLs()
        Get all urls (managed and non-managed). Uses getAllResourceIdentifiers() for managed and getNonManagedURLs() for unmanaged.
        Returns:
        The list of urls.
      • getComponentModels

        IFuture<java.util.Collection<java.lang.String[]>> getComponentModels()
        todo: support all component models Get all startable component models (currently only Java classes with @Agent).
        Returns:
        The file names of the component models.
      • addLibraryServiceListener

        IFuture<java.lang.Void> addLibraryServiceListener​(ILibraryServiceListener listener)
        Add an Library Service listener. The listener is registered for changes in the loaded library states.
        Parameters:
        listener - The listener to be added.
      • removeLibraryServiceListener

        IFuture<java.lang.Void> removeLibraryServiceListener​(ILibraryServiceListener listener)
        Remove an Library Service listener.
        Parameters:
        listener - The listener to be removed.