Package org.jboss.msc.service
Class ServiceTargetImpl
- java.lang.Object
-
- org.jboss.msc.service.ServiceTargetImpl
-
- All Implemented Interfaces:
ServiceTarget
- Direct Known Subclasses:
BatchServiceTargetImpl,ServiceContainerImpl,ServiceControllerImpl.ChildServiceTarget
class ServiceTargetImpl extends java.lang.Object implements ServiceTarget
Abstract base class used for ServiceTargets.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<ServiceName>dependenciesprivate java.util.Set<ServiceListener<java.lang.Object>>listenersprivate java.util.Set<StabilityMonitor>monitorsprivate ServiceTargetImplparent
-
Constructor Summary
Constructors Constructor Description ServiceTargetImpl()ServiceTargetImpl(ServiceTargetImpl parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ServiceTargetaddDependency(java.util.Collection<ServiceName> dependencies)Add a collection of dependencies that will be added to the all ServiceBuilders installed in this targetServiceTargetaddDependency(ServiceName dependency)Add a dependency that will be added to the all ServiceBuilders installed in this target.ServiceTargetaddDependency(ServiceName... dependencies)Add a list of dependencies that will be added to the all ServiceBuilders installed in this target.ServiceTargetaddListener(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.ServiceTargetaddListener(ServiceListener<java.lang.Object> listener)Add a service listener that will be added to all the ServiceBuilders installed in this target.ServiceTargetaddListener(ServiceListener<java.lang.Object>... listeners)Add a list of service listener that will be added to all ServiceBuilders installed in this target.ServiceTargetaddMonitor(StabilityMonitor monitor)Add a stability monitor that will be added to all the ServiceBuilders installed in this target.ServiceTargetaddMonitors(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) voidapply(ServiceBuilderImpl<?> serviceBuilder)Apply listeners and dependencies toserviceBuilder.BatchServiceTargetbatchTarget()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) ServiceRegistrygetServiceRegistry()Returns the serviceRegistry that contains all services installed by this target.(package private) <T> ServiceController<T>install(ServiceBuilderImpl<T> serviceBuilder)InstallserviceBuilderin this target.ServiceTargetremoveDependency(ServiceName dependency)Remove a dependency from this target.ServiceTargetremoveListener(ServiceListener<java.lang.Object> listener)Remove a listener from this target, if it exists.ServiceTargetremoveMonitor(StabilityMonitor monitor)Remove a monitor from this target, if it exists.ServiceTargetsubTarget()Create a sub-target using this as the parent target.
-
-
-
Field Detail
-
parent
private final ServiceTargetImpl parent
-
listeners
private final java.util.Set<ServiceListener<java.lang.Object>> listeners
-
dependencies
private final java.util.Set<ServiceName> dependencies
-
monitors
private final java.util.Set<StabilityMonitor> monitors
-
-
Constructor Detail
-
ServiceTargetImpl
ServiceTargetImpl(ServiceTargetImpl parent)
-
ServiceTargetImpl
ServiceTargetImpl()
-
-
Method Detail
-
addServiceValue
public <T> ServiceBuilder<T> addServiceValue(ServiceName name, Value<? extends Service<T>> value) throws java.lang.IllegalArgumentException
Description copied from interface:ServiceTargetGet a builder which can be used to add a service to this target.- Specified by:
addServiceValuein interfaceServiceTarget- Parameters:
name- the service namevalue- the service value- Returns:
- the builder for the service
- Throws:
java.lang.IllegalArgumentException
-
createServiceBuilder
protected <T> ServiceBuilder<T> createServiceBuilder(ServiceName name, Value<? extends Service<T>> value, ServiceControllerImpl<?> parent) throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException
-
addService
public <T> ServiceBuilder<T> addService(ServiceName name, Service<T> service) throws java.lang.IllegalArgumentException
Description copied from interface:ServiceTargetGet a builder which can be used to add a service to this target.- Specified by:
addServicein interfaceServiceTarget- Parameters:
name- the service nameservice- the service- Returns:
- the builder for the service
- Throws:
java.lang.IllegalArgumentException
-
addListener
public ServiceTarget addListener(ServiceListener<java.lang.Object> listener)
Description copied from interface:ServiceTargetAdd a service listener that will be added to all the ServiceBuilders installed in this target.- Specified by:
addListenerin interfaceServiceTarget- Parameters:
listener- the listener to add to the target- Returns:
- this target
-
addMonitor
public ServiceTarget addMonitor(StabilityMonitor monitor)
Description copied from interface:ServiceTargetAdd a stability monitor that will be added to all the ServiceBuilders installed in this target.- Specified by:
addMonitorin interfaceServiceTarget- Parameters:
monitor- the monitor to add to the target- Returns:
- this target
-
addMonitors
public ServiceTarget addMonitors(StabilityMonitor... monitors)
Description copied from interface:ServiceTargetAdd a stability monitors that will be added to all the ServiceBuilders installed in this target.- Specified by:
addMonitorsin interfaceServiceTarget- Parameters:
monitors- the monitors to add to the target- Returns:
- this target
-
addListener
public ServiceTarget addListener(ServiceListener<java.lang.Object>... listeners)
Description copied from interface:ServiceTargetAdd a list of service listener that will be added to all ServiceBuilders installed in this target.- Specified by:
addListenerin interfaceServiceTarget- Parameters:
listeners- a list of listeners to add to the target- Returns:
- this target
-
addListener
public ServiceTarget addListener(java.util.Collection<ServiceListener<java.lang.Object>> listeners)
Description copied from interface:ServiceTargetAdd a collection of service listener that will be added to all ServiceBuilders installed in this target.- Specified by:
addListenerin interfaceServiceTarget- Parameters:
listeners- a collection of listeners to add to the target- Returns:
- this target
-
removeMonitor
public ServiceTarget removeMonitor(StabilityMonitor monitor)
Description copied from interface:ServiceTargetRemove a monitor from this target, if it exists.- Specified by:
removeMonitorin interfaceServiceTarget- Parameters:
monitor- the monitor to remove- Returns:
- this target
-
removeListener
public ServiceTarget removeListener(ServiceListener<java.lang.Object> listener)
Description copied from interface:ServiceTargetRemove a listener from this target, if it exists.- Specified by:
removeListenerin interfaceServiceTarget- Parameters:
listener- the listener to remove- Returns:
- this target
-
getMonitors
public java.util.Set<StabilityMonitor> getMonitors()
Description copied from interface:ServiceTargetReturns a set of the monitors added to this target.- Specified by:
getMonitorsin interfaceServiceTarget- Returns:
- the monitors added to this target
-
getListeners
public java.util.Set<ServiceListener<java.lang.Object>> getListeners()
Description copied from interface:ServiceTargetReturns a set of the listeners added to this target.- Specified by:
getListenersin interfaceServiceTarget- Returns:
- the listeners added to this target
-
addDependency
public ServiceTarget addDependency(ServiceName dependency)
Description copied from interface:ServiceTargetAdd a dependency that will be added to the all ServiceBuilders installed in this target.- Specified by:
addDependencyin interfaceServiceTarget- Parameters:
dependency- the dependency to add to the target- Returns:
- this target
-
addDependency
public ServiceTarget addDependency(ServiceName... dependencies)
Description copied from interface:ServiceTargetAdd a list of dependencies that will be added to the all ServiceBuilders installed in this target.- Specified by:
addDependencyin interfaceServiceTarget- Parameters:
dependencies- a list of dependencies to add to the target- Returns:
- this target
-
addDependency
public ServiceTarget addDependency(java.util.Collection<ServiceName> dependencies)
Description copied from interface:ServiceTargetAdd a collection of dependencies that will be added to the all ServiceBuilders installed in this target- Specified by:
addDependencyin interfaceServiceTarget- Parameters:
dependencies- a collection of dependencies to add to this target- Returns:
- this target
-
removeDependency
public ServiceTarget removeDependency(ServiceName dependency)
Description copied from interface:ServiceTargetRemove a dependency from this target. Subsequently defined services will not have this dependency.- Specified by:
removeDependencyin interfaceServiceTarget- Parameters:
dependency- the dependency- Returns:
- this target
-
getDependencies
public java.util.Set<ServiceName> getDependencies()
Description copied from interface:ServiceTargetReturns a set of all dependencies added to this target.- Specified by:
getDependenciesin interfaceServiceTarget- Returns:
- all dependencies of this target
-
apply
void apply(ServiceBuilderImpl<?> serviceBuilder)
Apply listeners and dependencies toserviceBuilder.- Parameters:
serviceBuilder- serviceBuilder which listeners and dependencies will be added to.
-
install
<T> ServiceController<T> install(ServiceBuilderImpl<T> serviceBuilder) throws ServiceRegistryException
InstallserviceBuilderin this target.- Parameters:
serviceBuilder- a serviceBuilder created by this ServiceTarget- Returns:
- the installed service controller
- Throws:
ServiceRegistryException- if a service registry issue occurred during installation
-
getServiceRegistry
ServiceRegistry getServiceRegistry()
Returns the serviceRegistry that contains all services installed by this target.- Returns:
- the serviceRegistry containing services installed by this target
-
subTarget
public ServiceTarget subTarget()
Description copied from interface:ServiceTargetCreate a sub-target using this as the parent target.- Specified by:
subTargetin interfaceServiceTarget- Returns:
- the new service target
-
batchTarget
public BatchServiceTarget batchTarget()
Description copied from interface:ServiceTargetCreate a new batch service target, which is used to install described services in this target.- Specified by:
batchTargetin interfaceServiceTarget- Returns:
- the new batch service target
-
-