Package jadex.noplatform.services
Class LibraryService
- java.lang.Object
- 
- jadex.noplatform.services.BaseService
- 
- jadex.noplatform.services.LibraryService
 
 
- 
- All Implemented Interfaces:
- IInternalService,- IService,- ILibraryService
 
 public class LibraryService extends BaseService implements ILibraryService Library service for loading classpath elements.
- 
- 
Field Summary- 
Fields inherited from class jadex.noplatform.services.BaseServicecid, sid
 - 
Fields inherited from interface jadex.bridge.service.IServiceEMPTY_SERVICES
 
- 
 - 
Constructor SummaryConstructors Constructor Description LibraryService(IComponentIdentifier cid)Create a new asynchronous executor service.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description IFuture<java.lang.Void>addLibraryServiceListener(ILibraryServiceListener listener)Add an Library Service listener.IFuture<IResourceIdentifier>addResourceIdentifier(IResourceIdentifier parid, IResourceIdentifier rid, boolean workspace)Add a new resource identifier.IFuture<java.lang.Void>addTopLevelURL(java.net.URL url)Add a top level url.IFuture<IResourceIdentifier>addURL(IResourceIdentifier parid, java.net.URL url)Add a new url as resource identifier.IFuture<java.util.List<IResourceIdentifier>>getAllResourceIdentifiers()Get all resource identifiers (does not include rids (urls) of parent loader).IFuture<java.util.List<java.net.URL>>getAllURLs()Get all urls (managed and non-managed).IFuture<java.lang.ClassLoader>getClassLoader(IResourceIdentifier rid)Returns the classloader for a resource identifier.IFuture<java.lang.ClassLoader>getClassLoader(IResourceIdentifier rid, boolean workspace)Returns the classloader for a resource identifier.IFuture<java.util.Collection<java.lang.String[]>>getComponentModels()todo: support all component models Get all startable component models (currently only Java classes with @Agent).IFuture<java.util.List<java.net.URL>>getNonManagedURLs()Get other contained (but not directly managed) urls from parent classloaders.IFuture<java.util.Set<Tuple2<IResourceIdentifier,IResourceIdentifier>>>getRemovableLinks()Get the removable links.IFuture<IInputConnection>getResourceAsStream(IResourceIdentifier rid)Get a resource as stream (jar).IFuture<IResourceIdentifier>getResourceIdentifier(java.net.URL url)Returns the resource identifier for a url.IFuture<Tuple2<IResourceIdentifier,java.util.Map<IResourceIdentifier,java.util.List<IResourceIdentifier>>>>getResourceIdentifiers()Get the resource identifier dependencies.IResourceIdentifiergetRootResourceIdentifier()Get the top-level resource identifier.IFuture<java.lang.Void>removeLibraryServiceListener(ILibraryServiceListener listener)Remove an Library Service listener.IFuture<java.lang.Void>removeResourceIdentifier(IResourceIdentifier parid, IResourceIdentifier rid)Remove a resource identifier.IFuture<java.lang.Void>removeTopLevelURL(java.net.URL url)Remove a top level url.IFuture<java.lang.Void>removeURL(IResourceIdentifier parid, java.net.URL url)Remove a url.IFuture<java.lang.Void>shutdownService()Shutdown the service.IFuture<java.lang.Void>startService()Start the service.- 
Methods inherited from class jadex.noplatform.services.BaseServicegetComponentId, getMethodInfos, getPropertyMap, getServiceId, invokeMethod, isValid, setComponentAccess, setServiceIdentifier
 
- 
 
- 
- 
- 
Constructor Detail- 
LibraryServicepublic LibraryService(IComponentIdentifier cid) Create a new asynchronous executor service.
 
- 
 - 
Method Detail- 
startServicepublic IFuture<java.lang.Void> startService() Start the service.- Specified by:
- startServicein interface- IInternalService
- Returns:
- A future that is done when the service has completed starting.
 
 - 
shutdownServicepublic IFuture<java.lang.Void> shutdownService() Shutdown the service.- Specified by:
- shutdownServicein interface- IInternalService
- Parameters:
- listener- The listener.
- Returns:
- A future that is done when the service has completed its shutdown.
 
 - 
addResourceIdentifierpublic IFuture<IResourceIdentifier> addResourceIdentifier(IResourceIdentifier parid, IResourceIdentifier rid, boolean workspace) Add a new resource identifier.- Specified by:
- addResourceIdentifierin interface- ILibraryService
- Parameters:
- parid- The optional parent rid.
- rid- The resource identifier.
 
 - 
removeResourceIdentifierpublic IFuture<java.lang.Void> removeResourceIdentifier(IResourceIdentifier parid, IResourceIdentifier rid) Remove a resource identifier.- Specified by:
- removeResourceIdentifierin interface- ILibraryService
- Parameters:
- parid- The optional parent rid.
- url- The resource identifier.
 
 - 
getRemovableLinkspublic IFuture<java.util.Set<Tuple2<IResourceIdentifier,IResourceIdentifier>>> getRemovableLinks() Get the removable links.- Specified by:
- getRemovableLinksin interface- ILibraryService
 
 - 
getAllResourceIdentifierspublic IFuture<java.util.List<IResourceIdentifier>> getAllResourceIdentifiers() Get all resource identifiers (does not include rids (urls) of parent loader).- Specified by:
- getAllResourceIdentifiersin interface- ILibraryService
- Returns:
- The list of resource identifiers.
 
 - 
getResourceIdentifierspublic IFuture<Tuple2<IResourceIdentifier,java.util.Map<IResourceIdentifier,java.util.List<IResourceIdentifier>>>> getResourceIdentifiers() Get the resource identifier dependencies. Includes also system urls via a pseudo rid defined as constant in LibraryService.SYSTEMCPRID.- Specified by:
- getResourceIdentifiersin interface- ILibraryService
 
 - 
getClassLoaderpublic IFuture<java.lang.ClassLoader> getClassLoader(IResourceIdentifier rid) Returns the classloader for a resource identifier.- Specified by:
- getClassLoaderin interface- ILibraryService
- Parameters:
- rid- The resource identifier.
- Returns:
- The classloader.
 
 - 
getClassLoaderpublic IFuture<java.lang.ClassLoader> getClassLoader(IResourceIdentifier rid, boolean workspace) Returns the classloader for a resource identifier.- Specified by:
- getClassLoaderin interface- ILibraryService
- Parameters:
- rid- The resource identifier.
- workspace- True if workspace resolution is ok.
- Returns:
- The classloader.
 
 - 
getResourceAsStreampublic IFuture<IInputConnection> getResourceAsStream(IResourceIdentifier rid) Get a resource as stream (jar).- Specified by:
- getResourceAsStreamin interface- ILibraryService
 
 - 
addURLpublic IFuture<IResourceIdentifier> addURL(IResourceIdentifier parid, java.net.URL url) Add a new url as resource identifier.- Specified by:
- addURLin interface- ILibraryService
- Parameters:
- parid- The resource identifier (null for root entry).
- url- The url.
 
 - 
removeURLpublic IFuture<java.lang.Void> removeURL(IResourceIdentifier parid, java.net.URL url) Remove a url.- Specified by:
- removeURLin interface- ILibraryService
- Parameters:
- parid- The resource identifier (null for root entry).
- url- The url.
 
 - 
getResourceIdentifierpublic IFuture<IResourceIdentifier> getResourceIdentifier(java.net.URL url) Returns the resource identifier for a url.- Specified by:
- getResourceIdentifierin interface- ILibraryService
- Parameters:
- url- The url.
- Returns:
- The corresponding resource identifier.
 
 - 
getRootResourceIdentifierpublic IResourceIdentifier getRootResourceIdentifier() Get the top-level resource identifier.- Specified by:
- getRootResourceIdentifierin interface- ILibraryService
- Parameters:
- url- The url.
- Returns:
- The corresponding resource identifier.
 
 - 
addTopLevelURLpublic 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.- Specified by:
- addTopLevelURLin interface- ILibraryService
- Parameters:
- url- The url.
 
 - 
removeTopLevelURLpublic 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.- Specified by:
- removeTopLevelURLin interface- ILibraryService
- Parameters:
- url- The url. note: top level url removal will only take effect after restart of the platform.
 
 - 
getNonManagedURLspublic IFuture<java.util.List<java.net.URL>> getNonManagedURLs() Get other contained (but not directly managed) urls from parent classloaders.- Specified by:
- getNonManagedURLsin interface- ILibraryService
- Returns:
- The list of urls.
 
 - 
getAllURLspublic IFuture<java.util.List<java.net.URL>> getAllURLs() Get all urls (managed and non-managed). Uses getAllResourceIdentifiers() for managed and getNonManagedURLs() for unmanaged.- Specified by:
- getAllURLsin interface- ILibraryService
- Returns:
- The list of urls.
 
 - 
getComponentModelspublic IFuture<java.util.Collection<java.lang.String[]>> getComponentModels() todo: support all component models Get all startable component models (currently only Java classes with @Agent).- Specified by:
- getComponentModelsin interface- ILibraryService
- Returns:
- The file names of the component models.
 
 - 
addLibraryServiceListenerpublic IFuture<java.lang.Void> addLibraryServiceListener(ILibraryServiceListener listener) Add an Library Service listener. The listener is registered for changes in the loaded library states.- Specified by:
- addLibraryServiceListenerin interface- ILibraryService
- Parameters:
- listener- The listener to be added.
 
 - 
removeLibraryServiceListenerpublic IFuture<java.lang.Void> removeLibraryServiceListener(ILibraryServiceListener listener) Remove an Library Service listener.- Specified by:
- removeLibraryServiceListenerin interface- ILibraryService
- Parameters:
- listener- The listener to be removed.
 
 
- 
 
-