Package io.github.qishr.cascara.common.service
Class ServiceProviderLayer
java.lang.Object
io.github.qishr.cascara.common.service.ServiceProviderLayer
public class ServiceProviderLayer
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
| public static ServiceProviderLayer | getRootLayer() | Retrieves the root Service Provider Layer. |
| public static ServiceProviderLayer | getRootLayer(Reporter reporter) | Retrieves the root Service Provider Layer. |
| public static T | loadProvider(Class |
|
| public static T | loadProvider(Class |
|
| public static T | loadDefault(Class |
|
| public java.util.Set<java.lang.Class<ServiceProvider> | findServiceTypes() | Returns a list of all known service types. |
| public Set<ServiceMetadata> | findServices() | |
| public List<ServiceMetadata> | findAllProviders(Class<? extends ServiceProvider> serviceType) | Retrieves metadata of all known providers of the specified service type. |
| public List<ServiceMetadata> | findAllProviders(Class<? extends ServiceProvider> serviceType, Predicate<Properties> capabilityPredicate) | Retrieves metadata of all known providers whose capabilities satisfy the given predicate. |
| public String | getName() | |
| public ServiceProviderLayer | getParent() | |
| public Collection<ServiceProviderLayer> | getChildren() | |
| public ServiceProviderLayer | getChild(String name) | |
| public boolean | hasChild(String name) | |
| public boolean | hasProvider(String name) | |
| public Collection<ServiceMetadata> | getProvidersByFqcn() | |
| public Path | getModulePath(String name) | |
| public boolean | isPublic() | |
| public void | setPublic(boolean v) | |
| public ServiceProviderLayer | setReporter(Reporter reporter) | Sets the reporter for communicating mapping warnings or errors in this layer. |
| public ServiceMetadata | getProvider(String providerName) | Retrieves metadata of the sprcified provider if it exists in this layer. |
| public Collection<ServiceMetadata> | getProviders() | Retrieves metadata of providers of the specified service type in this layer. |
| public List<ServiceMetadata> | getProviders(Class<? extends ServiceProvider> serviceType) | Retrieves metadata of providers of the specified service type in this layer. |
| public List<ServiceMetadata> | getProviders(Class<? extends ServiceProvider> serviceType, Predicate<Properties> capabilityPredicate) | Retrieves metadata of providers in this layer whose capabilities satisfy the given predicate. |
| public ServiceProviderLayer | create() | |
| public ServiceProviderLayer | create(String name) | |
| public void | remove(String layerName) | |
| public void | registerModule(Module module) | |
| public void | registerClass(Class<?> type) | |
| public void | registerJar(Path jarPath) |
Method Details
getRootLayer
public static ServiceProviderLayer getRootLayer()
Retrieves the root Service Provider Layer.On the initial call, the root layer will be configured.
getRootLayer
public static ServiceProviderLayer getRootLayer(Reporter reporter)
Retrieves the root Service Provider Layer.On the initial call, the root layer will be configured with a specified Reporter. This reporter is used for non-fatal error and warning reporting.
loadProvider
public static T loadProvider(Class
loadProvider
public static T loadProvider(Class
loadDefault
public static T loadDefault(Class
findServiceTypes
public java.util.Set<java.lang.Class<ServiceProvider> findServiceTypes()
Returns a list of all known service types.
findServices
public Set<ServiceMetadata> findServices()
findAllProviders
public List<ServiceMetadata> findAllProviders(Class<? extends ServiceProvider> serviceType)
Retrieves metadata of all known providers of the specified service type.
findAllProviders
public List<ServiceMetadata> findAllProviders(Class<? extends ServiceProvider> serviceType, Predicate<Properties> capabilityPredicate)
Retrieves metadata of all known providers whose capabilities satisfy the given predicate.
getName
public String getName()
getParent
public ServiceProviderLayer getParent()
getChildren
public Collection<ServiceProviderLayer> getChildren()
getChild
public ServiceProviderLayer getChild(String name)
hasChild
public boolean hasChild(String name)
hasProvider
public boolean hasProvider(String name)
getProvidersByFqcn
public Collection<ServiceMetadata> getProvidersByFqcn()
getModulePath
public Path getModulePath(String name)
isPublic
public boolean isPublic()
setPublic
public void setPublic(boolean v)
setReporter
public ServiceProviderLayer setReporter(Reporter reporter)
Sets the reporter for communicating mapping warnings or errors in this layer.
getProvider
public ServiceMetadata getProvider(String providerName)
Retrieves metadata of the sprcified provider if it exists in this layer.
getProviders
public Collection<ServiceMetadata> getProviders()
Retrieves metadata of providers of the specified service type in this layer.
getProviders
public List<ServiceMetadata> getProviders(Class<? extends ServiceProvider> serviceType)
Retrieves metadata of providers of the specified service type in this layer.
getProviders
public List<ServiceMetadata> getProviders(Class<? extends ServiceProvider> serviceType, Predicate<Properties> capabilityPredicate)
Retrieves metadata of providers in this layer whose capabilities satisfy the given predicate.
create
public ServiceProviderLayer create()
create
public ServiceProviderLayer create(String name)
remove
public void remove(String layerName)
registerModule
public void registerModule(Module module)
registerClass
public void registerClass(Class<?> type)
registerJar
public void registerJar(Path jarPath)