Package io.zeebe.servicecontainer
Class ServiceBuilder<S>
- java.lang.Object
-
- io.zeebe.servicecontainer.ServiceBuilder<S>
-
public class ServiceBuilder<S> extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected Set<ServiceName<?>>dependenciesprotected ServiceName<?>groupNameprotected Map<ServiceName<?>,Collection<Injector<?>>>injectedDependenciesprotected Map<ServiceName<?>,ServiceGroupReference<?>>injectedReferencesprotected ServiceName<S>nameprotected Service<S>serviceprotected ServiceContainerImplserviceContainer
-
Constructor Summary
Constructors Constructor Description ServiceBuilder(ServiceName<S> name, Service<S> service, ServiceContainerImpl serviceContainer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> ServiceBuilder<S>dependency(ServiceName<? extends T> serviceName, Injector<T> injector)<T> ServiceBuilder<S>dependency(ServiceName<T> serviceName)<T> ServiceBuilder<S>dependency(String name, Class<T> type)Set<ServiceName<?>>getDependencies()ServiceName<?>getGroupName()Map<ServiceName<?>,Collection<Injector<?>>>getInjectedDependencies()Map<ServiceName<?>,ServiceGroupReference<?>>getInjectedReferences()ServiceName<S>getName()Service<S>getService()ServiceBuilder<S>group(ServiceName<?> groupName)<T> ServiceBuilder<S>groupReference(ServiceName<T> groupName, ServiceGroupReference<T> injector)ActorFuture<S>install()
-
-
-
Field Detail
-
serviceContainer
protected final ServiceContainerImpl serviceContainer
-
name
protected final ServiceName<S> name
-
groupName
protected ServiceName<?> groupName
-
dependencies
protected Set<ServiceName<?>> dependencies
-
injectedDependencies
protected Map<ServiceName<?>,Collection<Injector<?>>> injectedDependencies
-
injectedReferences
protected Map<ServiceName<?>,ServiceGroupReference<?>> injectedReferences
-
-
Constructor Detail
-
ServiceBuilder
public ServiceBuilder(ServiceName<S> name, Service<S> service, ServiceContainerImpl serviceContainer)
-
-
Method Detail
-
group
public ServiceBuilder<S> group(ServiceName<?> groupName)
-
dependency
public <T> ServiceBuilder<S> dependency(ServiceName<T> serviceName)
-
dependency
public <T> ServiceBuilder<S> dependency(ServiceName<? extends T> serviceName, Injector<T> injector)
-
dependency
public <T> ServiceBuilder<S> dependency(String name, Class<T> type)
-
groupReference
public <T> ServiceBuilder<S> groupReference(ServiceName<T> groupName, ServiceGroupReference<T> injector)
-
install
public ActorFuture<S> install()
-
getName
public ServiceName<S> getName()
-
getDependencies
public Set<ServiceName<?>> getDependencies()
-
getInjectedDependencies
public Map<ServiceName<?>,Collection<Injector<?>>> getInjectedDependencies()
-
getInjectedReferences
public Map<ServiceName<?>,ServiceGroupReference<?>> getInjectedReferences()
-
getGroupName
public ServiceName<?> getGroupName()
-
-