class ServiceTargetImpl extends java.lang.Object implements ServiceTarget
| Modifier and Type | Field and Description |
|---|---|
private java.util.Set<ServiceName> |
dependencies |
private java.util.Set<ServiceListener<java.lang.Object>> |
listeners |
private java.util.Set<StabilityMonitor> |
monitors |
private ServiceTargetImpl |
parent |
| Constructor and Description |
|---|
ServiceTargetImpl() |
ServiceTargetImpl(ServiceTargetImpl parent) |
| Modifier and Type | Method and Description |
|---|---|
ServiceTarget |
addDependency(java.util.Collection<ServiceName> dependencies)
Add a collection of dependencies that will be added to the all ServiceBuilders installed in this target
|
ServiceTarget |
addDependency(ServiceName... dependencies)
Add a list of dependencies that will be added to the all ServiceBuilders installed in this target.
|
ServiceTarget |
addDependency(ServiceName dependency)
Add a dependency that will be added to the all ServiceBuilders installed in this target.
|
ServiceTarget |
addListener(java.util.Collection<ServiceListener<java.lang.Object>> listeners)
Add a collection of service listener that will be added to all ServiceBuilders installed in this target.
|
ServiceTarget |
addListener(ServiceListener<java.lang.Object>... listeners)
Add a list of service listener that will be added to all ServiceBuilders installed in this target.
|
ServiceTarget |
addListener(ServiceListener<java.lang.Object> listener)
Add a service listener that will be added to all the ServiceBuilders installed in this target.
|
ServiceTarget |
addMonitor(StabilityMonitor monitor)
Add a stability monitor that will be added to all the ServiceBuilders installed in this target.
|
ServiceTarget |
addMonitors(StabilityMonitor... monitors)
Add a stability monitors that will be added to all the ServiceBuilders installed in this target.
|
<T> ServiceBuilder<T> |
addService(ServiceName name,
Service<T> service)
Get a builder which can be used to add a service to this target.
|
<T> ServiceBuilder<T> |
addServiceValue(ServiceName name,
Value<? extends Service<T>> value)
Get a builder which can be used to add a service to this target.
|
(package private) void |
apply(ServiceBuilderImpl<?> serviceBuilder)
Apply listeners and dependencies to
serviceBuilder. |
BatchServiceTarget |
batchTarget()
Create a new batch service target, which is used to install described services in this target.
|
protected <T> ServiceBuilder<T> |
createServiceBuilder(ServiceName name,
Value<? extends Service<T>> value,
ServiceControllerImpl<?> parent) |
java.util.Set<ServiceName> |
getDependencies()
Returns a set of all dependencies added to this target.
|
java.util.Set<ServiceListener<java.lang.Object>> |
getListeners()
Returns a set of the listeners added to this target.
|
java.util.Set<StabilityMonitor> |
getMonitors()
Returns a set of the monitors added to this target.
|
(package private) ServiceRegistry |
getServiceRegistry()
Returns the serviceRegistry that contains all services installed by this target.
|
(package private) <T> ServiceController<T> |
install(ServiceBuilderImpl<T> serviceBuilder)
Install
serviceBuilder in this target. |
ServiceTarget |
removeDependency(ServiceName dependency)
Remove a dependency from this target.
|
ServiceTarget |
removeListener(ServiceListener<java.lang.Object> listener)
Remove a listener from this target, if it exists.
|
ServiceTarget |
removeMonitor(StabilityMonitor monitor)
Remove a monitor from this target, if it exists.
|
ServiceTarget |
subTarget()
Create a sub-target using this as the parent target.
|
private final ServiceTargetImpl parent
private final java.util.Set<ServiceListener<java.lang.Object>> listeners
private final java.util.Set<ServiceName> dependencies
private final java.util.Set<StabilityMonitor> monitors
ServiceTargetImpl(ServiceTargetImpl parent)
ServiceTargetImpl()
public <T> ServiceBuilder<T> addServiceValue(ServiceName name, Value<? extends Service<T>> value) throws java.lang.IllegalArgumentException
ServiceTargetaddServiceValue in interface ServiceTargetname - the service namevalue - the service valuejava.lang.IllegalArgumentExceptionprotected <T> ServiceBuilder<T> createServiceBuilder(ServiceName name, Value<? extends Service<T>> value, ServiceControllerImpl<?> parent) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic <T> ServiceBuilder<T> addService(ServiceName name, Service<T> service) throws java.lang.IllegalArgumentException
ServiceTargetaddService in interface ServiceTargetname - the service nameservice - the servicejava.lang.IllegalArgumentExceptionpublic ServiceTarget addListener(ServiceListener<java.lang.Object> listener)
ServiceTargetaddListener in interface ServiceTargetlistener - the listener to add to the targetpublic ServiceTarget addMonitor(StabilityMonitor monitor)
ServiceTargetaddMonitor in interface ServiceTargetmonitor - the monitor to add to the targetpublic ServiceTarget addMonitors(StabilityMonitor... monitors)
ServiceTargetaddMonitors in interface ServiceTargetmonitors - the monitors to add to the targetpublic ServiceTarget addListener(ServiceListener<java.lang.Object>... listeners)
ServiceTargetaddListener in interface ServiceTargetlisteners - a list of listeners to add to the targetpublic ServiceTarget addListener(java.util.Collection<ServiceListener<java.lang.Object>> listeners)
ServiceTargetaddListener in interface ServiceTargetlisteners - a collection of listeners to add to the targetpublic ServiceTarget removeMonitor(StabilityMonitor monitor)
ServiceTargetremoveMonitor in interface ServiceTargetmonitor - the monitor to removepublic ServiceTarget removeListener(ServiceListener<java.lang.Object> listener)
ServiceTargetremoveListener in interface ServiceTargetlistener - the listener to removepublic java.util.Set<StabilityMonitor> getMonitors()
ServiceTargetgetMonitors in interface ServiceTargetpublic java.util.Set<ServiceListener<java.lang.Object>> getListeners()
ServiceTargetgetListeners in interface ServiceTargetpublic ServiceTarget addDependency(ServiceName dependency)
ServiceTargetaddDependency in interface ServiceTargetdependency - the dependency to add to the targetpublic ServiceTarget addDependency(ServiceName... dependencies)
ServiceTargetaddDependency in interface ServiceTargetdependencies - a list of dependencies to add to the targetpublic ServiceTarget addDependency(java.util.Collection<ServiceName> dependencies)
ServiceTargetaddDependency in interface ServiceTargetdependencies - a collection of dependencies to add to this targetpublic ServiceTarget removeDependency(ServiceName dependency)
ServiceTargetremoveDependency in interface ServiceTargetdependency - the dependencypublic java.util.Set<ServiceName> getDependencies()
ServiceTargetgetDependencies in interface ServiceTargetvoid apply(ServiceBuilderImpl<?> serviceBuilder)
serviceBuilder.serviceBuilder - serviceBuilder which listeners and dependencies will be added to.<T> ServiceController<T> install(ServiceBuilderImpl<T> serviceBuilder) throws ServiceRegistryException
serviceBuilder in this target.serviceBuilder - a serviceBuilder created by this ServiceTargetServiceRegistryException - if a service registry issue occurred during installationServiceRegistry getServiceRegistry()
public ServiceTarget subTarget()
ServiceTargetsubTarget in interface ServiceTargetpublic BatchServiceTarget batchTarget()
ServiceTargetbatchTarget in interface ServiceTarget