Skip to content

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 providerClass)
public static T loadProvider(Class serviceType, ServiceMetadata metadata)
public static T loadDefault(Class serviceType)
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 providerClass)


loadProvider

public static T loadProvider(Class serviceType, ServiceMetadata metadata)


loadDefault

public static T loadDefault(Class serviceType)


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)